关于字符串和数字的测试问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
sailingnew
帖子: 1
注册时间: 2007-09-04 17:08
送出感谢: 0
接收感谢: 0

关于字符串和数字的测试问题

#1

帖子 sailingnew » 2007-09-12 10:22

1、 [ "123" = "123" ] 字符串测试

2、 [ "123" == "123" ] ? 测试过可以执行,结果与1相同

3、 [ "123" -eq "123" ] 数值测试

4、 [ "123" = "123" ] || [ "345" = "345" ]

5、 [ "123" = "123" -o "345" = "345" ]

问题:

1、字符串测试和数值测试 区别是不是只在于 “=” 和“-eq”

2、= 和== 的区别,分别在何种情况下使用?

= 可以作为变量赋值运算符,又可以作为字符串比较的关系运算符

== 呢?

3、|| 和 -o 的区别,及其各自的用法?

请大侠们给解释一下,多谢
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45
送出感谢: 0
接收感谢: 9 次

#2

帖子 fanhe » 2007-09-12 20:55

1.是。

2.几乎没有区别。==只在测试中用。

3.-o在[]中用,||在[[]]中用或[] || []。

建议好好看这个教程,里面知识很全http://forum.ubuntu.org.cn/viewtopic.php?t=69427
回复

回到 “Shell脚本”