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

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...