コマンドの1つめが失敗したらコマンドの2つめを実行したいというとき使うのが「||」だ。
Linuxで「||」を使うとコマンドのOR演算ができる。
コマンド失敗時に次のコマンドを実行できるLinuxの「||」
「||」はOR制御演算子である。別途ページで解説している「&&」と対になる制御演算子である。
難しく聞こえるかもしれないが、要は「コマンド1が失敗した場合にコマンド2を実行する」という制御である。書式的には「コマンド1 || コマンド2」となる。
日常的にはコマンドプロンプト上で使用することはあまりないと思われるが、シェルスクリプト上で効能を発揮する。指定したコマンド1が異常終了した時に、それに対処する形でコマンド2を実行できる。主に事後のエラー処理などを行なうことが多いだろう。
「;」「&&」「||」これらコマンドの仕切りは、スクリプトをコンパクトにするのに非常に重宝する。シェルスクリプトの表現力があがる演算子なので是非活用しよう。
||を実際に使って見る
簡単な例
$ cd dir1 || pwd
「dir1」が存在しない場合「cd」コマンドが失敗し「pwd」コマンドを実行してワーキングディレクトリを表示する。pwdが実行されているのが確認出来る。
ではcdコマンドが成功した場合どうなるだろうか?
$ mkdir dir1
$ cd dir1 || pwd
cdコマンドの実行に成功しているため、その後のpwdコマンドは実行されない結果となる。
以上のように「本格的な例外処理」とまではいかないが、前提となるコマンドが失敗したときに事後処理を行なうことが出来るので使える場面はままあるはずだ。
まとめ
このページではコマンドが失敗した際、次のコマンドを規定できる「||」についてお伝えした。あまり使ったことがないかもしれないが、なかなか使えるTips的な存在なので覚えておいて損はない。