当前时区 GMT+8, 现在时间是 2008-9-8 12:32 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 大哥大姐们,我完全照书上编的也出现错误啊!
scan3330
新手上路
Rank: 1



UID 206884
精华 0
积分 38
帖子 15
阅读权限 10
注册 2005-12-1
状态 离线
发表于 2007-4-4 15:56  资料  主页 短消息  加为好友  添加 scan3330 为MSN好友 通过MSN和 scan3330 交谈 QQ
大哥大姐们,我完全照书上编的也出现错误啊!

我才学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资料网站!
顶部
scan3330
新手上路
Rank: 1



UID 206884
精华 0
积分 38
帖子 15
阅读权限 10
注册 2005-12-1
状态 离线
发表于 2007-4-4 21:37  资料  主页 短消息  加为好友  添加 scan3330 为MSN好友 通过MSN和 scan3330 交谈 QQ
难道没一个人知道吗?





www.linux8.net 丰富的linux资料网站!
顶部
vsxf
新手上路
Rank: 1



UID 210851
精华 0
积分 53
帖子 26
阅读权限 10
注册 2006-2-10
状态 离线
发表于 2007-4-5 12:10  资料  短消息  加为好友  添加 vsxf 为MSN好友 通过MSN和 vsxf 交谈 Yahoo!
[ "$yn" = "y" ]
注意两边的空格

顶部
scan3330
新手上路
Rank: 1



UID 206884
精华 0
积分 38
帖子 15
阅读权限 10
注册 2005-12-1
状态 离线
发表于 2007-4-5 21:56  资料  主页 短消息  加为好友  添加 scan3330 为MSN好友 通过MSN和 scan3330 交谈 QQ
我就是 执行错误了才加的空格,结果错误一样啊!不过还是谢谢你!





www.linux8.net 丰富的linux资料网站!
顶部
vsxf
新手上路
Rank: 1



UID 210851
精华 0
积分 53
帖子 26
阅读权限 10
注册 2006-2-10
状态 离线
发表于 2007-4-11 14:54  资料  短消息  加为好友  添加 vsxf 为MSN好友 通过MSN和 vsxf 交谈 Yahoo!
[ "$yn" == "y" ]

顶部
vsxf
新手上路
Rank: 1



UID 210851
精华 0
积分 53
帖子 26
阅读权限 10
注册 2006-2-10
状态 离线
发表于 2007-4-11 14:55  资料  短消息  加为好友  添加 vsxf 为MSN好友 通过MSN和 vsxf 交谈 Yahoo!
[ "$yn" == "y" ]

顶部
IdiotBenBen
新手上路
Rank: 1



UID 242217
精华 0
积分 6
帖子 3
阅读权限 10
注册 2007-6-7
状态 离线
发表于 2007-6-8 18:42  资料  短消息  加为好友  QQ
上次我编的时候也有错哦!后来用case....esac编就可以了!

顶部
IdiotBenBen
新手上路
Rank: 1



UID 242217
精华 0
积分 6
帖子 3
阅读权限 10
注册 2007-6-7
状态 离线
发表于 2007-6-8 18:42  资料  短消息  加为好友  QQ
上次我编的时候也有错哦!后来用case....esac编就可以了!

顶部
tandkzy
注册会员
Rank: 2



UID 190565
精华 0
积分 201
帖子 113
阅读权限 20
注册 2005-5-5
状态 离线
发表于 2007-7-14 16:26  资料  短消息  加为好友 


QUOTE:
原帖由 vsxf 于 2007-4-11 14:55 发表
[ "$yn" == "y" ]

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





一只linux菜鸟
顶部
secpoint
中级会员
Rank: 3Rank: 3


UID 57998
精华 1
积分 656
帖子 298
阅读权限 30
注册 2003-8-29
来自 China
状态 离线
发表于 2007-7-16 19:58  资料  短消息  加为好友  添加 secpoint 为MSN好友 通过MSN和 secpoint 交谈 QQ
尽信书不如无书

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





滴水成河,聚沙成塔。
顶部
puzzle_cn
新手上路
Rank: 1


UID 57178
精华 0
积分 76
帖子 31
阅读权限 10
注册 2003-8-25
来自 China
状态 离线
发表于 2007-9-4 23:12  资料  短消息  加为好友 
楼主太粗心, 大家跟他说中括号和变量之间要空格, 他一直认为是在说等号两边.

顶部
ZhouSong
新手上路
Rank: 1



UID 190524
精华 0
积分 1
帖子 1
阅读权限 10
注册 2005-5-4
状态 离线
发表于 2007-9-18 21:55  资料  短消息  加为好友  添加 ZhouSong 为MSN好友 通过MSN和 ZhouSong 交谈 QQ Yahoo!
代码格式

#!/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 编辑 ]

顶部
xue_hu2001
注册会员
Rank: 2


UID 87595
精华 0
积分 344
帖子 139
阅读权限 20
注册 2004-1-7
来自 CU
状态 离线
发表于 2007-9-27 16:49  资料  短消息  加为好友  QQ
[ "$yn" = "y" ]
注意两边的空格

正解





Long long live chairs Mao!
顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP