Bash v3 以下でも set -u 時に変数が定義されてるか確認する方法

以下のように、変数への値がセットされているかで分岐するシェルスクリプトがあったとします。このスクリプトは正常に動作します。 #!/bin/sh if [ -n "$CIRCLE_PULL_REQUEST" ]; then echo '$CIRCLE_PULL_REQUEST is defined.' else echo '$CIRCLE_PULL_REQUEST is NOT defined.' fi 堅牢なシェルスクリプトを書く時は #!/bin/sh を #!/bin/sh -u にすることが多いです。typo 等による意図しない変数の利用を防いでくれます。 ...

2018-10-15 (月) · masutaka