黒野のメモ帳

質より量のブログにしたい

【bash】変数未設定実行の阻止コマンド'set -euo pipefail'の分析

たまたまTwitterで見かけて学びになったのでメモ。

https://twitter.com/jingbay/status/1475933400104337409

はてなブコメにもあったけれども、bashスクリプトの先頭には

#!/usr/env bash
set -euo pipefail

これを入れましょう。変数の未設定での実行が阻止されます。


以下自己調査

https://atmarkit.itmedia.co.jp/ait/spv/1805/10/news023.html

set -e

エラーがあったら直ちにシェルを終了する (ないと止まらない)

set -u

未定義変数を使用したときにエラーとする

set -o

シェルオプションを有効にする

pipefail

パイプラインの返り値を最後のエラー終了値にする エラー終了値がない場合は0を返す