はじめに
シェルスクリプトの特殊参照?(呼び方知りませんでした)についてメモ
こんなん
- vars_sample.sh
# nullを代入 VAR= echo $VAR # カラ # VARが未使用の場合に限り変数VARへ文字列hogeを代入&aaaを返却 VAR=${VAR=hoge} echo $VAR # カラ # VARが未使用もしくはNULLの場合に限り変数VARへ文字列hogeを代入&aaaを返却 VAR=${VAR:=hoge} echo $VAR # hoge
参考までに
参考サイトをまんま拝借させて頂くのですが、こんな感じらしいです。
へー、という感じ。
参照方法 | 参照結果 |
---|---|
${VAR=aaa} | 変数 VAR が未使用の場合に限り、変数VARへ文字列「aaa」を代入し文字列「aaa」を返す。変数VARがNULL値を含み既に使用されている場合は、変数 VAR への代入を行わず、変数 VAR の値を返す。 |
${VAR:=aaa} | 変数 VAR が未使用もしくは NULL の場合に限り、変数 VAR へ文字列「aaa」を代入し文字列「aaa」を返す。 変数 VAR が NULL 値の場合を除き、既に使用されている場合は変数 VAR への代入を行わず、変数 VAR の値を返す。 |
${VAR-aaa} | 変数 VAR が未使用の場合に限り、文字列「aaa」を返す。変数 VAR が NULL 値を含み既に使用されている場合は、変数 VAR の値を返す。 また、変数 VAR が使用済み・未使用に関わらず、変数 VAR への代入は行われない。 |
${VAR:-aaa} | 変数 VAR が未使用もしくは NULL 値の場合に限り、文字列「aaa」を返す。変数 VAR が NULL 値以外の値で既に使用されている場合は、変数 VAR の値を返す。 また、変数 VAR が使用済み・未使用に関わらず、変数 VAR への代入は行われない。 |
${VAR+aaa} | 変数 VAR が NULL 値も含み既に使用されている場合に限り、文字列「aaa」を返す。変数 VAR が未使用の場合は、NULL 値を返す。 また、変数 VAR が使用済み・未使用に関わらず、変数 VAR への代入は行われない。 |
${VAR:+aaa} | 変数 VAR が NULL 値以外で既に使用されている場合に限り、文字列「aaa」を返す。変数 VAR が NULL 値もしくは未使用の場合は、NULL 値を返す。 また、変数 VAR が使用済み・未使用に関わらず、変数 VAR への代入は行われない。 |
参考
おわり
またひとつ勉強になりました。