LinuxSir.cn,穿越时空的Linuxsir!

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

新手须要帮助。。。。

[复制链接]
发表于 2003-12-17 15:11:17 | 显示全部楼层 |阅读模式
#!/bin/bash
aa='123'
bb='234'
if [ "$aa" = "$bb" ]
then
echo aaaaaaa
else
echo bbbbbbb
fi

如此写法正确否?????
发表于 2003-12-17 15:42:35 | 显示全部楼层
可以。也可以这样:
#!/bin/bash
aa=123
bb=234
if [ $aa == $bb ]
then
echo aaaaaaa
else
echo bbbbbbb
fi
 楼主| 发表于 2003-12-17 19:27:54 | 显示全部楼层
因为你的赞同,让我更痛苦。。。

结果应该是bbbb才对,而实际却不是这么回事。。。
:mad: :mad: :mad: :mad: :mad:
发表于 2003-12-17 19:56:26 | 显示全部楼层
最初由 xchen 发表
因为你的赞同,让我更痛苦。。。

结果应该是bbbb才对,而实际却不是这么回事。。。
:mad: :mad: :mad: :mad: :mad:

[[ $aa -eq  $bb ]]
变量和变量的比较建议用-eq -ne -lt -gt等这样的操作符~~
 楼主| 发表于 2003-12-17 20:15:19 | 显示全部楼层
不行啊,老大。。。

昏得很,小小的一个字符串比较,竟折腾了我一下午。。。
期待解答中。。。。。
发表于 2003-12-17 20:48:11 | 显示全部楼层
直接从网页COPY到你的电脑,不要手写。
发表于 2003-12-17 21:16:23 | 显示全部楼层
最初由 xchen 发表
不行啊,老大。。。

昏得很,小小的一个字符串比较,竟折腾了我一下午。。。
期待解答中。。。。。

这是我在bash下,在命令行中作的测试:
[/home/javalee]bash
[/home/javalee]aa=123
[/home/javalee]bb=456
[/home/javalee]if [[ $aa == $bb ]];then echo "aa=bb";else echo "aa!=bb";fi
aa!=bb

[/home/javalee]aa=123
[/home/javalee]bb=123
[/home/javalee]if [ $aa == $bb ];then echo "aa=bb";else echo "aa!=bb";fi
aa=bb
注意:
1,当变量中把含有空格或者特殊字符的时候,可以不用引号.
2,if语句中注意空格.
3,[[,字符串变量比较操作符,也可以用[代替.
4,多看看置顶的shell教程/简介.
发表于 2003-12-19 21:56:36 | 显示全部楼层
用单引号括起来
是为了将变量值作为字符串处理吧?
所以' 123'和'123'
不相等
不知道我的判断是否正确
发表于 2003-12-19 23:53:59 | 显示全部楼层
最初由 fishfeather 发表
用单引号括起来
是为了将变量值作为字符串处理吧?
所以' 123'和'123'
不相等
不知道我的判断是否正确

你的判断是正确的,'  123'和'123'当然不相等~~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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