5

私は最近、いくつかのbashスクリプトを使用していて、manページを調べています。私が集めたものから、$(( ))意味expr[ ]意味はtest何ですか?

の場合$(( ))

echo $(( 5 + 3 ))

次と同じ出力があります:

echo $(expr 5 + 3)

の場合[ ]

test 'str' = 'str'

成功値は次のとおりです。

[ 'str' = 'str' ]

理解できましたか?

4

2 に答える 2

9

構成は((...))bashビルトインと同等letです。letほとんど同じことをexprします。

コンストラクトは、最初$((...))に注意してください。これ$は、内部の式の出力を、同じように置き換えます$(...)

構成は、実際にはの[...]単なる別名ですtest

詳細については、bashのヘルプページを参照してください。

  • help "("
  • help let
  • help [
  • help test

も参照してください:

于 2012-05-23T11:09:02.597 に答える
6

[ ]あなたは正しいですtest

について$(( ))、これはのより複雑な置換ですexpr。を使用するよりも複雑な式を計算できますexpr

于 2012-05-23T11:09:28.420 に答える