GNU/Linux >> Linux の 問題 >  >> Linux

特定のコマンドの Bash 無視エラー

解決策:

particular_script || true

例:

$ cat /tmp/1.sh
particular_script()
{
    false
}

set -e

echo one
particular_script || true
echo two
particular_script
echo three

$ bash /tmp/1.sh
one
two

three 印刷されることはありません。

また、pipefailのときに追加したい がオンの場合、パイプ内のコマンドの 1 つにゼロ以外の終了コードがある場合 (pipefail それは最後のものでなければなりません)。

$ set -o pipefail
$ false | true ; echo $?
1
$ set +o pipefail
$ false | true ; echo $?
0

|| true を追加するだけです エラーを無視したいコマンドの後。


停止せず、終了ステータスも保存

特定のコマンドが失敗した場合にスクリプトを停止させず、失敗したコマンドのエラー コードも保存したい場合:

set -e
EXIT_CODE=0
command || EXIT_CODE=$?
echo $EXIT_CODE

Linux
  1. コマンドラインでの毎日のBashのヒント

  2. cpコマンドの2つの優れた使用法:Bashショートカット

  3. 単一のコマンドに対してBashでエイリアスを無効にする方法は??

  1. Bash スクリプト:セッションをログに記録するための bash スクリプトからのスクリプト コマンドの使用

  2. bash エクスポート コマンド

  3. ディレクトリに対してのみ No such file or directory エラーが発生する bash スクリプトのコマンドを検索しますか?

  1. Bash For Loopsの「do」キーワードの目的は?

  2. Bash Echoコマンドライン自体で実行されるコマンドライン(スクリプトではない)?

  3. コマンドエイリアスのBash補完を取得する方法は?