大哥大姐们,我完全照书上编的也出现错误啊!
我才学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!
帮我看看错误啊 难道没一个人知道吗? [ "$yn" = "y" ]
注意两边的空格 我就是 执行错误了才加的空格,结果错误一样啊!不过还是谢谢你! [ "$yn" == "y" ] [ "$yn" == "y" ] 上次我编的时候也有错哦!后来用case....esac编就可以了! 上次我编的时候也有错哦!后来用case....esac编就可以了! 原帖由 vsxf 于 2007-4-11 14:55 发表 http://218.56.161.11/bbs/images/common/back.gif
[ "$yn" == "y" ]
应该是一个等号吧。两个等号是c语言,而bash却只要一个等号就表示了等于判断。
尽信书不如无书
没有一本书没有错误的(我看过的),遇到问题多多琢磨吧. 楼主太粗心, 大家跟他说中括号和变量之间要空格, 他一直认为是在说等号两边. :shock:代码格式
#!/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 编辑 ] [ "$yn" = "y" ]
注意两边的空格
正解
页:
[1]