scan3330 发表于 2007-4-4 15:56:10

大哥大姐们,我完全照书上编的也出现错误啊!

我才学shell,可是按照书上的一个简单的小程序也出错,找了半天也没找出问题,帮我看下啊!这是原代码:
#!/bin/bash
#This program is used to study if then
#VBird 2002/06/27
echo "press 'y' to contiue"
readyn
if ["$yn" = "y"];then
   echo "script is running..."
else
   echo "stop!"
fi
下面是执行后的错误提示:
# sh test06-ifthen.sh
press 'y' to contiue
y
test06-ifthen.sh: line 6: [y: command not found
stop!
帮我看看错误啊

scan3330 发表于 2007-4-4 21:37:55

难道没一个人知道吗?

vsxf 发表于 2007-4-5 12:10:24

[ "$yn" = "y" ]
注意两边的空格

scan3330 发表于 2007-4-5 21:56:20

我就是 执行错误了才加的空格,结果错误一样啊!不过还是谢谢你!

vsxf 发表于 2007-4-11 14:54:25

[ "$yn" == "y" ]

vsxf 发表于 2007-4-11 14:55:49

[ "$yn" == "y" ]

IdiotBenBen 发表于 2007-6-8 18:42:10

上次我编的时候也有错哦!后来用case....esac编就可以了!

IdiotBenBen 发表于 2007-6-8 18:42:36

上次我编的时候也有错哦!后来用case....esac编就可以了!

tandkzy 发表于 2007-7-14 16:26:42

原帖由 vsxf 于 2007-4-11 14:55 发表 http://218.56.161.11/bbs/images/common/back.gif
[ "$yn" == "y" ]

应该是一个等号吧。两个等号是c语言,而bash却只要一个等号就表示了等于判断。

secpoint 发表于 2007-7-16 19:58:39

尽信书不如无书

没有一本书没有错误的(我看过的),遇到问题多多琢磨吧.

puzzle_cn 发表于 2007-9-4 23:12:10

楼主太粗心, 大家跟他说中括号和变量之间要空格, 他一直认为是在说等号两边. :shock:

ZhouSong 发表于 2007-9-18 21:55:37

代码格式

#!/bin/bash
#This program is used to study if then
#VBird 2002/06/27
echo "press 'y' to contiue"
readyn
if [ "$yn" = "y" ];then #[空格"$yn"空格=空格"y"空格]
   echo "script is running..."
else
   echo "stop!"
fi

[ 本帖最后由 ZhouSong 于 2007-9-18 21:56 编辑 ]

xue_hu2001 发表于 2007-9-27 16:49:12

[ "$yn" = "y" ]
注意两边的空格

正解
页: [1]
查看完整版本: 大哥大姐们,我完全照书上编的也出现错误啊!