shにおける変数の初期化

表題の通り。たまに忘れて調べ直したりするのでメモ。

■ 環境

  • sh

■ 初期化

実現する方法はいくつも書き方はあるが、自身は下記の書き方に統一している。

${KEY:-"初期値"}

KEY“という変数が存在しない、もしくはnullであれば”初期値“が返される。また、”KEY“に”初期値“は代入されない。

他にも下記の書き方があり、変数の存在する・しないや、代入する・しない、等々結果はいろいろである。

${KEY="初期値"}
${KEY:="初期値"}
${KEY-"初期値"}
${KEY+"初期値"}
${KEY:+"初期値"}

自身は単に使い慣れていないので前述の書き方をやっている、のが正直なところかもしれない。読み慣れていないと可読性も下がるのであまりすすめられたものではないかもしれない。

以上。

■ 関連