QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 3627|回复: 12

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

[复制链接]
发表于 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"
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!
帮我看看错误啊
 楼主| 发表于 2007-4-4 21:37:55 | 显示全部楼层
难道没一个人知道吗?
回复

使用道具 举报

发表于 2007-4-5 12:10:24 | 显示全部楼层
[ "$yn" = "y" ]
注意两边的空格
回复

使用道具 举报

 楼主| 发表于 2007-4-5 21:56:20 | 显示全部楼层
我就是 执行错误了才加的空格,结果错误一样啊!不过还是谢谢你!
回复

使用道具 举报

发表于 2007-4-11 14:54:25 | 显示全部楼层
[ "$yn" == "y" ]
回复

使用道具 举报

发表于 2007-4-11 14:55:49 | 显示全部楼层
[ "$yn" == "y" ]
回复

使用道具 举报

发表于 2007-6-8 18:42:10 | 显示全部楼层
上次我编的时候也有错哦!后来用case....esac编就可以了!
回复

使用道具 举报

发表于 2007-6-8 18:42:36 | 显示全部楼层
上次我编的时候也有错哦!后来用case....esac编就可以了!
回复

使用道具 举报

发表于 2007-7-14 16:26:42 | 显示全部楼层
原帖由 vsxf 于 2007-4-11 14:55 发表
[ "$yn" == "y" ]


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

使用道具 举报

发表于 2007-7-16 19:58:39 | 显示全部楼层

尽信书不如无书

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

使用道具 举报

发表于 2007-9-4 23:12:10 | 显示全部楼层
楼主太粗心, 大家跟他说中括号和变量之间要空格, 他一直认为是在说等号两边.
回复

使用道具 举报

发表于 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"
read  yn
if [ "$yn" = "y" ];then #[空格"$yn"空格=空格"y"空格]
   echo "script is running..."
else
   echo "stop!"
fi

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

使用道具 举报

发表于 2007-9-27 16:49:12 | 显示全部楼层
[ "$yn" = "y" ]
注意两边的空格

正解
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-2 00:36 , Processed in 0.051190 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表