なっく日報

技術やら生活やらのメモ

【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が未定義のときは空文字となるので、エラーが出ないようになります。

参考サイト

qiita.com