複数コマンドを同一行で & や && で繋いだときの挙動を知りたい


`;` は command1 が終わってから command2 を実行

[code]

    command1 ; command2
    
[/code]

`&` を末尾につけたものは command1 の結果を待たずに command2 を実行だと思うのですが

[code]

    command1 &
    command2
    
[/code]

**疑問点:**

`&` や `&&` をコマンドの間に使う例を見かけたのですが、これらはどういう挙動をするのでしょうか。「`bash &`」
で検索してもバックグラウンド実行の記事しか出て来ないので、ご存知の方がいたら教えていただきたいです

[code]

    command1 & command2 
    command1 && command2
    
[/code]




`&&` は論理積で「左辺のコマンドが正常終了した場合のみ、右辺のコマンドを実行する」です。

よくある例は、`./configure` が成功した時のみ `make` を実行する、など。

[code]

    $ ./configure && make && make install
    
[/code]




`&&` は論理積で「左辺のコマンドが正常終了した場合のみ、右辺のコマンドを実行する」です。

よくある例は、`./configure` が成功した時のみ `make` を実行する、など。

[code]

    $ ./configure && make && make install
    
[/code]

