オープンシューズタンブルウィード(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
便利です。