1

VAR_NAME=${VAR_NAME:-"/some/path/file"} 在 shell 脚本中是什么意思?

这是一个初始化脚本,我正在编写一个自定义脚本,以将我们的一些启动操作放入初始化脚本中,以便我们可以在启动时自动启动它们,但我对 shell 脚本没有太多经验,所以我正在使用我们过去定制的不相关软件的启动脚本。

指向的路径指向一个文件,该文件包含覆盖脚本中设置的默认值的配置值。

我无法弄清楚该构造的真正含义(特别是 :- 部分)。

我正在处理的脚本似乎也将此操作链接在一起以解决要使用的值,例如:

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 回答