77

について少し学んでいるうちに、ifステートメントを操作する 4 種類の方法を目にするようになりました。

  • 一重括弧 - ( ... )
  • 二重括弧 - (( ... ))
  • 単一の角括弧 - [ ... ]
  • 二重角括弧 - [[ ... ]]

bashの括弧と角括弧の違いは何ですか.

4

2 に答える 2

86

リストしたテスト:

  • 単一括弧 - ( ... ) はサブシェルを作成しています
  • 二重括弧 - (( ... )) は算術演算用です
  • 一重角括弧 - [ ... ] は POSIX の構文ですtest
  • 二重角括弧 - [[ ... ]] は bash 条件式の構文です (似てtestいますが、より強力です)

網羅的ではありません。ブール論理を使用できます

if command; then ...

コマンドには終了ステータスがあるためです。ではbash0でありtrue、>0ですfalse

次のような終了ステータスを確認できます。

command
echo $?

見る :

http://wiki.bash-hackers.org/syntax/basicgrammar
http://wiki.bash-hackers.org/syntax/arith_expr
http://mywiki.wooledge.org/BashGuide/TestsAndConditionals

于 2012-10-07T02:23:22.497 に答える