bash - コマンドセパレータ

コマンドは通常行の終わり(改行コード)でで完結するが、下記のものでもコマンドの区切りになる。
これらをコマンドセパレータという。

改行  1つのコマンドの区切り
;     1つのコマンドの区切り
パイプ
& バックグランドでじっこうさせる
OR制御演算子
&& AND制御演算子

コマンドは普通、慣例として正しく終了したときは0(真、true)
異常終了したときは0以外(偽、false)を返すようになっている。

ではコマンドが異常終了した場合に次に指定したコマンドを実行する。

&&ではコマンドが正常終了した場合に次に指定したコマンドを実行する。

$ make clean; make depend; make
$ make &
$ ls file1 > /dev/null 2>&1 || touch file1  #file1がなかったら作成、エラーメッセージは棄てる
$ ls file1 file2 > /dev/null 2>&1 && cat file1 file2 > file3 #ファイルがあったら結合する