ShellScript

空文字チェック(-n)で少しハマった

More than 1 year has passed since last update.

何が起きたか

  • ShellScriptの中身
example.sh
$param=$1

if [ -n "$param" ];then
 echo $param
else
 echo "引数がありません"
fi
  • 呼び出し方
    sh example.sh hoge

  • 結果
    引数がありません

.
.
.
:thinking:

解決法

  • 変数を{}で囲む
solution.sh
$param=$1

if [ -n "${param}" ];then
 echo $param
else
 echo "引数がありません"
fi

普通に変数展開する時は、{}無しでも成立するので気づきにくかったです。