打印

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

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

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

TOP

难道没一个人知道吗?
www.linux8.net 丰富的linux资料网站!

TOP

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

TOP

我就是 执行错误了才加的空格,结果错误一样啊!不过还是谢谢你!
www.linux8.net 丰富的linux资料网站!

TOP

[ "$yn" == "y" ]

TOP

[ "$yn" == "y" ]

TOP

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

TOP

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

TOP

引用:
原帖由 vsxf 于 2007-4-11 14:55 发表
[ "$yn" == "y" ]
应该是一个等号吧。两个等号是c语言,而bash却只要一个等号就表示了等于判断。
一只linux菜鸟

TOP

尽信书不如无书

没有一本书没有错误的(我看过的),遇到问题多多琢磨吧.
滴水成河,聚沙成塔。

TOP

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

TOP

代码格式

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

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

TOP

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

正解
Long long live chairs Mao!

TOP