93

bash でのこのスタイルの意味は何ですか?

${PUBLIC_INTERFACE:-eth0}

の目的は:-何ですか?

4

2 に答える 2

123

存在し、null でない場合$PUBLIC_INTERFACEはその値を返し、そうでない場合は を返し"eth0"ます。

実際には、これらのいくつかがbash のマニュアル ページに記載されています。

${parameter:-word}デフォルト値を使用します。パラメータが設定されていないか null の場合、単語の展開が置換されます。それ以外の場合は、パラメーターの値が代入されます。

${parameter:=word}デフォルト値を割り当てます。パラメータが設定されていないか null の場合、単語の展開がパラメータに割り当てられます。その後、パラメータの値が代入されます。定位置パラメーターと特殊パラメーターは、この方法では割り当てられない場合があります。

${parameter:?word} Null または未設定の場合はエラーを表示します。パラメータが null または設定されていない場合、単語の展開 (または単語が存在しない場合はその旨のメッセージ) が標準エラーに書き込まれ、対話型でない場合はシェルが終了します。それ以外の場合は、パラメーターの値が代入されます。

${parameter:+word}代替値を使用します。パラメータが null または未設定の場合、何も置換されません。それ以外の場合は、単語の展開が置換されます。

于 2012-04-30T20:52:42.570 に答える