【Jenkinsで使える】set -uした状態での未定義変数のチェック
Jenkinsでパラメータを渡すタイプのJOBでなんだけど、cron機能でも実行するというケースがありまして、
cronから実行したら
set -u if [ -n "$PARAM" ]; then echo "$PARAM" fi
↓なエラーが。
line 3: PARAM: 展開されていない変数
そんなときは
set -u if [ -n "${PARAM-}" ]; then echo "$PARAM" fi
で書けばよいと。
これでPARAM
が未定義のときは空文字となるので、エラーが出ないようになります。