これが重複する質問である場合は、事前に謝罪します。ここで質問する前に、検索/確認する努力をしました。
私はこのようなワンライナーを書くのに慣れています:
foocommand && foocommand2 && foocommand3
前のコマンドが「成功」した場合にのみ、後続のコマンドを実行したいという考えです。
私はやや長いスクリプトを書いていますが、このワンライナーは、誰にとっても混乱を招くコードの巨大なブロックのように見えるため、実行不可能です。
スクリプト内でコマンドの間隔を空け、それらの間にコメントを書きたいと思います。どうすればこれを行うことができますが、&&と同等のものがそこにありますか?
||
、&&
(|
または&
)とは対照的に、短絡と呼ばれます。後者の演算子で使用される動作は、熱心な評価と呼ばれます。
a && b && c
のみ実行されますb
場合はa
成功します「それだけで動作しますので、c
場合b
と、」それだけで走る成功「c
場合a
とb
:成功の両方の」同等のステートメントあるb
場合を除き、成功することはできませんa
成功しました。
a || b && c
がわかりやすいです。
&&
以前の場合は、後続のコマンドが実行されるという意味ではありません1が成功しました。これは、コマンドリスト内の以前のすべてのコマンドの結果が成功した場合にコマンドが実行されることを意味します。あなたはこれを知っているかもしれませんが、将来の読者は誤解するかもしれません。