対話型シェルスクリプトのデフォルト設定

対話型シェルスクリプトを作り、隣の人にレビューしてもらいました。 レビュー前後でこう変わりました。

レビュー前

echo -n "please input targets_arg1 (default = HOGE) : "
read ARG1
if [ -z $ARG1 ]; then
        ARG1=HOGE
fi

レビュー後

echo -n "please input targets_arg1 (default = HOGE) : "
read INPUT_ARG1
ARG1=${INPUT_ARG1:-"HOGE"}


変数が1個増えますがif文が減ります。 保守性など考えなかったら個人的にはレビュー後の形が好きです。

:-


「:」の後ろは幾つかあるので勉強しよう。

 

参考

ヌルコマンドでシェルスクリプトの変数が空の場合に特定の値を代入させる | 俺的備忘録 〜なんかいろいろ〜