1

シェルスクリプトでVAR_NAME=$ {VAR_NAME:-"/ some / path / file"}はどういう意味ですか?

これはinitスクリプト用です。起動時に自動的に起動できるように、起動操作の一部をinitスクリプトに取り込むカスタムスクリプトを作成していますが、シェルスクリプトの経験があまりないため、使用しています。過去にカスタマイズした無関係なソフトウェアの起動スクリプト。

示されるパスは、スクリプトで設定されたデフォルトをオーバーライドする構成値を含むファイルへのパスです。

その構成が実際に何を意味するのか理解するのに苦労しています(特に:-部分)。

私が作業しているスクリプトも、この操作を連鎖させて、次のような使用する値を解決しているようです。

LOG_FILE = $ {LOG_FILE:-$ {LOGFILE:-$ DEFAULT_LOG_FILE}}

4

2 に答える 2

2
  ${parameter:-word}
        Use Default Values. If parameter is unset or null, the expansion
        of word shall be substituted; otherwise, the value of parameter shall be
        substituted.
于 2012-07-02T19:32:35.897 に答える
1

VAR_NAME が存在する場合は VAR_NAME に設定され、存在しない場合は /some/path/file に設定されます。

それをチェーンすることは、変数名がチェーンを下っていく場合にのみ意味があります。

于 2012-07-02T19:34:12.027 に答える