私は最近、いくつかのbashスクリプトを使用していて、manページを調べています。私が集めたものから、$(( ))
意味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
。を使用するよりも複雑な式を計算できますexpr
。