Linux/UNIXのシェルプロンプトでIF文のような分岐処理を行わせる方法

仕事で、ちょっとした分岐処理をシェル上で行う必要があったので、ワンライナーで簡単にIF文のような処理が出来る方法について調べたので記述しておく。 以下のような書き方で、IF文のような処理を実現可能だ。

コマンド && TRUE || FALSE

つまり、「&&」以降はコマンドがTRUEの場合に、「||」以降はFALSEの場合に実行されるコマンドとなる。 実際に利用する例として、以下のような使い方を紹介する。

ファイルに指定した文字列がない場合、追記を行う

grep "文字列" /追記したいファイル > /dev/null || echo "文字列" >> /追記したいファイル

$ cat work/test/test3.txt
Line1
Line2
Line3
Line4
Line5
$ grep "Line1" work/test/test3.txt > /dev/null || echo "Line1" >> work/test/test3.txt
$ cat work/test/test3.txt
Line1
Line2
Line3
Line4
Line5
$ grep "Line7" work/test/test3.txt > /dev/null || echo "Line7" >> work/test/test3.txt
$ cat work/test/test3.txt
Line1
Line2
Line3
Line4
Line5
Line7

スクリプトとして記述する場合は普通にIF文を使えばよいが、例えば手順書などに記述する一行コマンドなのであれば、このやり方で代用してはどうだろうか?