1. ホーム
  2. bash

Bashの条件文における括弧と括弧の違いについて

2023-09-20 18:27:52

質問

について少し勉強している間に バッシュ について学んでいるうちに、私は if ステートメントを使用する方法です。

  • シングル括弧 - ( ... )
  • 二重括弧 - ( ... )
  • シングル角括弧 - [ ... ]。
  • ダブル角括弧 - [[ ... ] ]です。

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

どのように解決するのですか?

あなたがリストアップしたテストは:

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

は完全なものではありません。 ブーリアンロジック

if command; then ...

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

このように終了状態を見ることができます。

command
echo $?

を参照してください。

http://wiki.bash-hackers.org/syntax/basicgrammar

http://wiki.bash-hackers.org/syntax/arith_expr

http://mywiki.wooledge.org/BashGuide/TestsAndConditionals