編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

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 $?

のように書ける。

参考


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2017-01-09 (月) 03:48:55 (466d)