- バックアップ一覧
- 差分 を表示
- 現在との差分 を表示
- ソース を表示
- シェルスクリプト/文法/条件分岐/testコマンド 複合コマンド・グループ化 へ行く。
- 1 (2017-01-09 (月) 12:47:52)
testコマンド 複合コマンド・グループ化
複合コマンド [[ ]]
[ 1 -lt 2 ]; echo $? # => 本来は-ltで数値比較する [ 1 < 2 ]; echo $? # => "<"で比較するとリダイレクトと判断されてエラーが起きる [ 1 \< 2 ]; echo $? # => "<"をバックスラッシュでエスケープするとエラーを回避できる [[ 1 < 2 ]]; echo $? # => 複合コマンド"[[ ]]"ならエスケープしなくてもエラーが起きない
グループ化
丸かっこ"()"でのグループ化でも複合コマンド"[[ ]]"は便利に使える。 丸かっこ"()"でくるんでグループ化する場合、通常は、
[ \( "a" = "a" \) -a \( "b" = "b" \) ]; echo $?
のように丸かっこ"()"をエスケープする必要がある。複合コマンド"[[ ]]"を使えば、
[[ ( "a" = "a" ) && ( "b" = "b" ) ]]; echo $?
のように書ける。