为什么我在运行shell脚本文件的时候,不管是什么程序,都有这种提示,哪位知道什么原因(for1是文本的名称)
: not found
./for1: 4: Syntax error: word unexpected (expecting "do")
为了方便诊断 文本如下
#!/bin/sh
for foo in bar fud 43
do
echo $foo
done
exit 0
运行情况
win@ubuntu:~$ chmod +x for1
win@ubuntu:~$ ./for1
: not found
./for1: 4: Syntax error: word unexpected (expecting "do")
凡是设计到shell的程序 都有这种情况
zhaoyuzhong3694 于 2010-06-27 12:57:11发表:
[i=s] 本帖最后由 zhaoyuzhong3694 于 2010-6-27 12:59 编辑 [/i]
搞清你用的是什么shell,sh与bash很多时候不是一种。
好像ubuntu默认对应dash。
JK409 于 2010-06-27 12:47:24发表:
我搞错了,改成这样
#!/bin/sh
for foo in bar fud 43;
do
echo "$foo"
done
exit 0
zhaoyuzhong3694 于 2010-06-27 12:46:47发表:
[i=s] 本帖最后由 zhaoyuzhong3694 于 2010-6-27 12:52 编辑 [/i]
没错。
/bin/sh一般是个软连接文件,不一定指向bash。
JK409 于 2010-06-27 12:34:58发表:
只需把for foo in bar fud 43
改成
for $foo in bar fud 43
bobo504 于 2010-06-27 08:52:49发表:
开头改为#!/bin/bash再试试