セミコロンとデュアルアンパサンド&&の違いは何ですか?

セミコロンとデュアルアンパサンド&&の違いは何ですか?

違いは何ですか

echo "Hello " ; echo "world"

そして

echo "Hello " && echo "world"

どちらも互いに2つのコマンドを実行しているようです。

ベストアンサー1

echo "Hello" ; echo "world"echo "world"前のコマンドの終了状態に関係なく、コマンドが順次実行されることを示しますecho "Hello"。つまり、echo "world"前のコマンドが成功したかどうかに関係なく実行されますecho "Hello"

の場合、echo "Hello" && echo "world"最初のコマンド()が成功した場合(つまり状態0で終了した場合)にのみ実行されますecho "world"echo "Hello"これは…段落評価

次の例は、シェルがさまざまな演算子を使用してコマンドチェーンを処理する方法を示しています。

$ false ; echo "OK"
OK
$ true ; echo "OK"
OK
$ false && echo "OK"
$ true && echo "OK"
OK
$ false || echo "OK"
OK
$ true || echo "OK"
$

最後のケースはOKショートして印刷されませんでしたtrue

簡単に言えば、;区切り文字であり、論理&&ANDであり、||論理ORです(詳しくはお読みください)。ここ)。

おすすめ記事