コードを想像してください:
ls || echo "Unable to execute ls (returned non zero)"
次のようなコマンドをさらに実行する必要がある場合はどうなりますか。
ls || echo "this is echo 1" <some operator> echo "this is echo 2" <some operator> exit 1
Cで(私が関数を持っていると仮定してls
)私はできます(たとえそれが狂っているように見えても):
ls() || (command1() && command2());
しかし、bash でこのような括弧を使用できるとは思えません。
これらのコマンドを含む Bash 関数を作成できることはわかっていますが、これを組み合わせる必要がある場合はどうすればよいでしょうかexit 1
(関数内で終了すると、スクリプト全体ではなく、その関数が終了します)。