1. ホーム
  2. bash

[解決済み] bashでの:-(コロンダッシュ)の使用法

2023-02-24 06:37:14

質問

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

${PUBLIC_INTERFACE:-eth0}

の目的は何でしょうか? :- ?

どのように解決するのですか?

もし $PUBLIC_INTERFACE が存在し、かつ null でない場合はその値を返し、そうでない場合は "eth0" .

実際にドキュメントに書かれているのは、このような bash man ページ :

<ブロッククオート

パラメータ:-語} デフォルト値を使用する。パラメータが未設定またはNullの場合、wordの展開が代入されます。それ以外の場合は、パラメータの値が代入されます。

パラメータ:=word}。 デフォルト値を割り当てる。パラメータが未設定またはNULLの場合、wordの展開形がパラメータに代入される。そして、パラメータの値が代入されます。位置パラメーターと特殊パラメーターは、この方法では割り当てられないかもしれません。

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

パラメータ:+word}。 代替値を使用する。パラメータがNULLまたは未設定の場合は何も代入されず、それ以外の場合はwordの展開が代入されます。