Linux のコマンドで、&& や || で連結している表現を見かけました。ちょっと気になって調べたので、その内容をまとめてみました。
コマンド && コマンド
直前のコマンドが成功した(結果が0の)場合に、次(右方向)のコマンドが実行されます。
command1 && command2 command1 && command2 && command3
コマンド || コマンド
直前のコマンドが失敗した(結果が0ではない)場合に、次(右方向)のコマンドが実行されます。
command1 || command2 command1 || command2 || command3
例
次の文は「変数 RETVAL が0だったら、touch コマンドを実行する」ことになります。
[ $RETVAL = 0 ] && touch "/var/lock/subsys/springboot"