私は2つの条件を持つ単純なifセクションを含むbashスクリプトを書いています。
if [[ -n $VAR_A ]] && [[ -n $VAR_B ]]; then
echo >&2 "error: cannot use MODE B in MODE A" && exit 1
fi
シニアエンジニアが私のコードを確認し、次のように言いました。
後続の行で2つのコマンドを簡単に実行できる場合は、&&を使用しないでください。
彼はこれ以上説明しませんでした。しかし、好奇心でこれが本当であるか、そして何を使わないべきかを知りたいです&&
。
ベストアンサー1
レビューアのコメントは、おそらく&&
演算子の2番目の使用について言及しているようです。欲しくない終了しないでください私の考えでは、echo
失敗した場合は別々の行にコマンドを書く方が合理的です。
if [[ -n $VAR_A ]] && [[ -n $VAR_B ]]; then
echo >&2 "error: cannot use MODE B in MODE A"
exit 1
fi
ただし、bashには&&
次の[[ ... ]]
条件を含めることができます。
if [[ -n $VAR_A && -n $VAR_B ]]; then