[]を使ったテストステートメントについて覚えておきたい事
ダブルクォートで囲む必要がある場合
[ -n "$value" ] # valueにスペースを含む値がある場合。空の値を評価してもエラーにならないようにしたい場合。
テスト内でandまたはorをしたい場合。また条件の否定をしたい場合
[?( -x "$1" ?) -a ?( ! -d "$1" ?) ]
- -aまたは-oを使う
- 式の評価順を指定したい場合はエスケープつきの括弧を使う?(?)
- 式の否定は!を使う。!の周りのスペースは必須。
テスト内で数字の比較をする場合は
<>ではな-ltや-gtを使う。
- -lt Less than のように英語で考えると覚えやすそう。