微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – Bash:’$(())’表示’expr’而'[]’表示’test’?

我最近一直在使用一些bash脚本,并一直在查看手册页.根据我的收集,$(())是指expr和[]意味着测试?

对于$(()):

echo $(( 5 + 3 ))

具有相同的输出

echo $(expr 5 + 3)

对于[]:

test 'str' = 'str'

具有与以下相同的成功价值:

[ 'str' = 'str' ]

我理解得对吗?

最佳答案
((…))构造等同于bash builtin let.让大多数与expr相同的东西.

$((…))构造,注意开头的$,将像$(…)那样替换表达式的输出.

[…]构造实际上只是测试的另一个名称.

有关更多信息,请参阅bash帮助页面.

>帮助“(”
>帮助让
>帮助[
>帮助测试

也可以看看:

> http://mywiki.wooledge.org/BashFAQ/031
> http://mywiki.wooledge.org/ArithmeticExpression

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐