シェルスクリプト :: 条件分岐 if

記述式説明
Aif [ -n “$str” -a -f “$file” ]1つの testコマンド、2つの条件
Bif [ -n “$str” ] && [ -f “$file” ]2つの testコマンド(短絡評価される)
Cif [ -n “$str” && -f “$file” ]構文エラー

A は、2つの条件が両方とも判定される。
B は、最初の条件が true の場合のみ、2つ目の条件が判定される。
C は、2つ目の処理中に -f というコマンドは存在しないというエラーが発生する。



あるコマンドが成功した場合のみ、特定ステートメントを実行する
if some_command
then
    command_a
    command_b
    command_c
fi


some_command && {
    command_a
    command_b
    command_c
}

{ と } のブロックはコマンドをステートメント化する役割がある