パラメータ展開 デフォルト値

パラメータのデフォルト値を指定

文法

 ${パラメータ-値}
 ${パラメータ:-値}

 $ FOO=foo              # FOOにfooを代入
 $ echo ${FOO-bar}      # FOOに値があるので、
 foo                    # その値fooが表示される
 $ echo ${FOO1-bar}     # FOO1という変数は存在しない(値がない)ので、
 bar                    # デフォルト値barが表示される
 $ echo $FOO1           # なお、この時にFOO1という変数が新たに作られているわけではない
 (空)                   # この変数が作られるか否かが${パラメータ-値}と${パラメータ=値}の違い
 $ FOO=                 # また、FOOが空文字の場合、
 $ echo ${FOO:bar}      # ${パラメータ-値}は、
 (空)                   # その空文字が表示される
 $ echo ${FOO:-bar}     # これを避けるには${パラメータ:-値}とする
 bar                    # 実際の使いどころでは${パラメータ:-値}の方を多く使うと思われる

パラメータのデフォルト値を代入

文法

 ${パラメータ=値}
 ${パラメータ:=値}

 $ FOO=foo               # ${パラメータ=値}と${パラメータ-値}は似ていて、
 $ echo ${FOO:=bar}      # FOOに値があるので、
 foo                     # それが表示され、
 $ echo ${FOO1:=bar}     # FOO1に値がないので
 bar                     # デフォルト値barが表示される
 $ echo $FOO1            # 違うのは、${パラメータ=値}を実行するとそのパラメータに値が代入される点
 bar                     # つまり、FOO1はすでに値を持つ変数となっている

デフォルト値を変数にする

 $ FOO=                  # ${パラメータ-値}の値を変数にするのは構わない
 $ BAR=bar               # この場合、FOOが空、BARがbarなので、
 $ echo ${FOO:-$BAR}     # $BARが評価されて、
 bar                     # barが表示される

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

Last-modified: 2017-07-23 (日) 11:30:42