set -e -o パイプラインの失敗とはどういう意味ですか? [コピー]

set -e -o パイプラインの失敗とはどういう意味ですか? [コピー]

次のコマンドはどういう意味ですか?私はシェルスクリプトに初めて触れました。

set -e -o pipefail

ベストアンサー1

コマンドまたはパイプがゼロ以外の状態で終了した場合は、スクリプトをすぐに終了してください。

私は通常これら2つのフラグを使用しませんが、シェルスクリプトの作成を始めたばかりの場合、これは他の言語で警告または厳密モードを有効にするのと同じです。

-e

コマンドがゼロ以外の状態で終了するとすぐに終了します。

-o <option-name>

フラグを設定します<option-name>。この場合、pipefailオプションを設定します。

pipefail

設定すると、パイプラインは最後の(最も右側の)コマンドの終了状態を返し、ゼロ以外の状態で終了します。パイプライン内のすべてのコマンドが正常に終了すると、0が返されます。このオプションはデフォルトで無効になっています。

おすすめ記事