【发布时间】:2013-08-10 14:05:29
【问题描述】:
只要我存储在$counter 变量中的值大于5,我需要运行一个 if 语句。
这是我当前(无法运行)脚本的相应部分:
if $counter > 5
then
echo "something"
fi
我犯的错误可能很明显,但由于某种原因我无法在网上找到解决方案.. 谢谢!
【问题讨论】:
只要我存储在$counter 变量中的值大于5,我需要运行一个 if 语句。
这是我当前(无法运行)脚本的相应部分:
if $counter > 5
then
echo "something"
fi
我犯的错误可能很明显,但由于某种原因我无法在网上找到解决方案.. 谢谢!
【问题讨论】:
这很简单:
if [ "$counter" -gt 5 ]
then
echo "something"
fi
【讨论】:
sh的兼容性,否则最好使用[[和]]而不是[和]。见mywiki.wooledge.org/BashFAQ/031
bash,(( counter > 5 )) 会更好。
bash 的人都知道bash 和sh 之间的区别。 (评论供参考)。
需要在((和))之间进行算术运算:
if (( $counter > 5 ))
顺便说一句,您也可以在算术中省略$,尽管保留它并没有什么坏处。
【讨论】:
[[ ]] 中完成。那么到底应该是哪一个呢?我会选择[[ ]]。在这里查看我的论点:stackoverflow.com/a/18568726/445221。 (评论供参考)。