Shell编程比较大小的困惑

写了一段很简单的脚本来尝试一下Shell的 if..else.. if [ 3>2]; then echo "good" else echo "bad" fi  一看结果: 上来就挨一闷棍, 难道是 3>2中间要空格? 把空格加上 3 > 2, 结果对了输出good, 换个别的值试试吧 把 3 > 2 改成 1 > 2, 结果怎么还是good? 后来查资料才知道 Shell 中进行算术运算要在 (())中进行, []中进行的运算比较的是数字的ASCII码, 所以会得到这样的结果。 把代码改为: if ((3>2)); then echo "good" else echo "bad" fi 执行OK!

posted on 2011-05-27 15:50  Megratron  阅读(203)  评论(0编辑  收藏  举报

导航