2016-11-23 11 views
0

Unixの次の表記法の意味は?Unixコマンドの解釈

:- or := 

次の手段

if [ ${path:=0} -eq 1 ] 
if [ ${path:-0} -eq 1 ] 
+1

変数のデフォルトを提供します。一見してみてくださいhttp://unix.stackexchange.com/questions/122845/using-ab-for-variable-assignment-in-scripts – cjungel

答えて

1

を何インスタンス$pathのために設定されていない場合、それはあなたのコード例では0にフォールバックしますので:は、パラメータ展開です。

ハイフンを使用すると:-が値を使用し、:=を使用して値が割り当てられます。コメントによって促さ

追加情報:

あなたの例では、あなたがそう:=を使用すると、このようになります、$pathという変数を使用している:$パスが設定されていない場合は、値を$パスを設定する(0あなたの場合)。後で$ pathを使用すると、値0に設定されます。

:-を使用すると、与えられたデフォルト値(あなたの場合は0)を使用して$ pathに割り当てません。その後の$ pathの使用はまだ設定されていません。

+0

ハイフンを使用する: - 値を使用し、使用すると=が値を割り当てます。 私はそれを "値を使用する"と値を割り当てるかどうかはわかりませんか? – redsoxlost

+0

私はあなたの答えに余分な情報を追加します。 – Stuart