記述式 | 説明 | |
---|---|---|
A | if [ -n “$str” -a -f “$file” ] | 1つの testコマンド、2つの条件 |
B | if [ -n “$str” ] && [ -f “$file” ] | 2つの testコマンド(短絡評価される) |
C | if [ -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 }
{ と } のブロックはコマンドをステートメント化する役割がある