[]を使ったテストステートメントについて覚えておきたい事

ダブルクォートで囲む必要がある場合

[ -n "$value" ] # valueにスペースを含む値がある場合。空の値を評価してもエラーにならないようにしたい場合。

テスト内でandまたはorをしたい場合。また条件の否定をしたい場合

 [?( -x "$1" ?) -a ?( ! -d "$1" ?) ] 
  • -aまたは-oを使う
  • 式の評価順を指定したい場合はエスケープつきの括弧を使う?(?)
  • 式の否定は!を使う。!の周りのスペースは必須。

テスト内で数字の比較をする場合は

<>ではな-ltや-gtを使う。

  • -lt Less than のように英語で考えると覚えやすそう。