Compare variable with integer in shell?
我有一个需要运行的if语句,只要我在$counter变量中存储的值大于5变量。
以下是我当前(不工作)脚本的相应部分:
1 2 3 4
| if $counter > 5
then
echo"something"
fi |
我犯的错误可能很明显,但出于某种原因,我在网上找不到解决方案。谢谢!
很简单:
1 2 3 4
| if ["$counter" -gt 5 ]
then
echo"something"
fi |
- 除非需要sh兼容性,最好使用[[和]]而不是[和]。参见mywiki.wooledge.org/bashfaq/031
- 当然。这是为了兼容性,因为他没有在标题中提到bash。
- @KonsoleBox,你需要看看问题下面的标签。标题经常误导人。
- @格伦纳扎克曼是的,我刚注意到标签:)
- 如果你用的是bash,(( counter > 5 ))就更好了。
- @我不同意:stackoverflow.com/a/18568726/445221
- @Glennjackman我不确定每个标记bash的人是否知道bash和简单的sh之间的区别。(评论以供参考)。
需要在((和))之间进行运算:
顺便说一句,你也可以在算术上省去$,尽管保留它并不伤人。
- 但是,我认为条件表达式应该在[[ ]]中完成。那到底应该是哪一个呢?我会选[[ ]]。请看我的论点:stackoverflow.com/a/18568726/445221。(评论以供参考)。