2016-05-05 7 views

答えて

4

the specを参照してください:

$ myvar= 
$ echo "${myvar:-default}" 
default 
$ echo "${myvar-default}" 

$ unset myvar 
$ echo "${myvar-default}" 
default 

コロンで、チェックは "もし未設定またはヌル、デフォルトを使用" のためです。コロンがなければ、それはちょうど "unsetなら、デフォルトを使う"。

関連パラグラフ(強調鉱山):以前に示されたパラメータ展開において

、 での使用形式が未設定又は ヌルあるパラメータのテストをもたらすものとします。その結果を省略すると、パラメータ (のみ設定されていない)のテストが行​​われます。

同じようにBashに行く。 manualから引用:

をフォームを使用して、サブストリングの拡張を行わない場合には以下 を記載(例えば、:-)、未設定またはヌルのパラメータのバッシュ試験。 コロンを省略すると、設定されていないパラメータのテストのみが実行されます( )。言い換えれば、コロンが含まれている場合、オペレータはパラメータの両方について をテストし、その値は ではないことをテストします。コロンを省略すると、演算子は存在のみをテストします。

関連する問題