变态操作员

Operator in variable affectation

我正在尝试了解现有 ksh 脚本的语法。我遇到了以下行:

HOME_APP=${HOME_APP:-/app}

这是什么意思?

似乎必须有一个重复项,但是 :- 用于在 HOME_APP 未设置或为空时为扩展提供默认值。

$ unset HOME_APP
$ echo "${HOME_APP:-/app}"
/app
$ HOME_APP=
$ echo "${HOME_APP:-/app}"
/app
$ HOME_APP=/opt
$ echo "${HOME_APP:-/app}"
/opt