LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 597|回复: 4

请教for in语句

[复制链接]
发表于 2007-1-7 17:53:55 | 显示全部楼层 |阅读模式
#!/bin/bash
for abc in "a b" "c d" "e f"
do
echo "hello!$abc"
if [ $abc -eq "c d" ]
then
echo "abcdef"
fi
done
这样写为什么if语句会是错的呢?实在不明白,请教了。
我是想在abc等于c d 时,多显示一句话。
发表于 2007-1-7 18:59:41 | 显示全部楼层
把$abc用双引号括起来"$abc", 要不的话bash会把它单成普通的表达,而不是一个字符串.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-8 08:03:52 | 显示全部楼层
我加了双引号还是出错。
for.sh: line 5: [: a b: integer expression expected
回复 支持 反对

使用道具 举报

发表于 2007-1-8 09:10:53 | 显示全部楼层
-eq是整数比较符,字符串比较应该用==或者=
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-8 09:54:54 | 显示全部楼层
Post by Iambitious
-eq是整数比较符,字符串比较应该用==或者=

明白了,原来是这样。3Q
回复 支持 反对

使用道具 举报

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

本版积分规则

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