0

I met below coding:

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

What does the ":-" in it mean?

1 Answers1

1

If value is not set, use default, otherwise, use value:

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

e.g (missing command line parameters):

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

If value not set, set it to default, otherwise, use value (same as '-'):

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

If value set, use alt_value, else use 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

If value set, use it, else print err_msg and abort the script with an exit status of 1:

${value?err_msg}
${value:?err_msg}
David C. Rankin
  • 81,885
  • 6
  • 58
  • 85