shellのコマンドセパレータ
コマンドは普通、行の終わり(改行コード)で完結して、一つのコマンドとなる。
しかし、特定の文字をコマンドの区切りとして使用することができる。
- 改行 1コマンドの区切り
- ; 1コマンドの区切り
- | 結果を次のコマンドの引数とする
- & バックグランドで実行する
- || OR制御演算子
- && AND演算子
セミコロン(;)
コマンドがセミコロンで区切られていた場合、左から順次実行される。
cd /tmp; ls
tmpに移動して、lsの結果を表示する。
パイプ(|)
左側のコマンドの出力結果を右側のコマンドの入力とすること。
echo abc | wc
// 1 1 4
echo abcの出力結果をwcの入力にしている。
アンパサンド(&)
アンパサンドをつけたコマンドはバックグランドで実行される。
つまり、コマンドの終了を待たずに次のコマンドを実行する。
OR演算子(||)
左側のコマンドが失敗して、右側のコマンドが初めて実行される。
AND 演算子(&&)
左側のコマンドが成功した時だけ、右側のコマンドが実行される。