我最近一直在使用一些 bash 脚本,并且一直在查看手册页。从我收集的内容来看,是什么$(( ))
意思?expr
[ ]
test
对于$(( ))
:
echo $(( 5 + 3 ))
具有与以下相同的输出:
echo $(expr 5 + 3)
对于[ ]
:
test 'str' = 'str'
具有与以下相同的成功值:
[ 'str' = 'str' ]
我的理解正确吗?
该((...))
构造等效于 bash 内置let
。let
做大部分相同的事情expr
。
$((...))
构造,请注意$
开头的 ,将替换内部表达式的输出,就像做的$(...)
那样。
该[...]
构造实际上只是test
.
有关更多信息,请参阅 bash 帮助页面。
help "("
help let
help [
help test
也可以看看:
你是正确[ ]
的test
关于$(( ))
,这是一个更精细的替换expr
。您可以计算比 with 更复杂的表达式expr
。