是什么: - 与变量的值组合时的意思是什么?

时间:2016-06-16 02:20:32

标签: shell

我遇到了以下编码:

POST_JIRA_SCRIPT="${POST_JIRA_SCRIPT:-$HOME/atlassian-env/bin/postjiracomment}"

里面的“: - ”是什么意思?

1 个答案:

答案 0 :(得分:1)

如果未设置值,请使用默认值,否则使用值:

var=${value-$default}
var=${value:-$default}  ':' use default even if value declared and empty/null

例如(缺少命令行参数):

value=
var=${value-$default}     # not set
var=${value:-$default}    # set to $default

如果未设置值,请将其设置为默认值,否则使用值(与“ - ”相同):

var=${value=$default}     # set to  $default
var=${value:=$default}  ':' set even if value declared and empty/null

e.g:

var=${value=$default}     # set to $default
var=${value=xyz}          # value still $default, already set

如果设置了值,请使用alt_value,否则使用null string:

var=${value+alt_value}       if value declared and empty/null (considered set), set alt_value
var=${value:+alt_value}  ':' if value declared and empty/null (considered unset), set null/empty

如果设置了值,请使用它,否则打​​印err_msg并中止退出状态为1的脚本:

${value?err_msg}
${value:?err_msg}