Tumbleweedの.bashrcの「||true」の目的は何ですか?

Tumbleweedの.bashrcの「||true」の目的は何ですか?

オープンシューズタンブルウィード(openSUSE Tumbleweed)は

test -s ~/.alias && . ~/.alias || true

その内容で~/.bashrc

左の部分の私の理解|| trueは次のとおりです。

  • ~/.alias存在するか、サイズが0より大きいことを確認してください。
  • そして条件が満たされたらファイルを受け取ります。

それではなぜ|| true必要なのでしょうか?


GNU bash、バージョン 5.0.16(1)-リリース(x86_64-suse-linux-gnu)

答え1

|| true~/.aliasコマンドが失敗しても問題ない状況で便利です。この特別なケースでは、コマンドが存在しない場合はゼロ以外の終了コードで失敗しますtest -sが、他の結果が発生したくありません。|| true完全なコマンドリスト(sourceを含む~/.alias)が常に成功した状態で終了していることを確認してください。

.bashrcこれは含まれている場合に特に関連していますが、set -eシェル起動スクリプトでは一般的ではありません。

もう一つの書き方は

if test -s ~/.alias; then . ~/.alias; fi

~/.aliasただし、購入結果エラーが発生した場合は、ゼロ以外の終了コードで終了します。

また、見ることができます"command || true" パターンはなぜ役に立ちますか?

答え2

ゼロ以外の(失敗)状態が返され|| trueても、コマンド全体が「成功」状態を返すことを確認してください。./.aliases

(エラー時終了)を使用する場合にset -e便利です。

関連情報