转自 https://blog.csdn.net/yyyuuueeee/article/details/52280231
表达式替换
1、${var_name}等价于$var_name(通常用这种简写方式)
2、$(var:-default) 和$(var-default)
$(var:-default) 当var为空或未定义时整个表达式的值为default
$(var-default) 当且仅当var未定义时整个表达式的值为default
3、$(var:=default) 和$(var=default)
$(var:=default) 当var为空或未定义时整个表达式的值为default,并且将var的值设置为default
$(var=default) 当且仅当var未定义时整个表达式的值为default,并且将var的值设置为default
4、$(var:?default) 和$(var?message)
$(var:?message) 当var为空或未定义时,打印错误信息,信息内容为message表示的值
$(var?message) 当且仅当var未定义时,打印错误信息,信息内容为message表示的值
5、$(var:+default) 和$(var+default)
$(var:+default) 当var已定义且不为空时整个表达式的值为default
$(var+default) 当var已定义时真个表达式的值为default(不管var是否是空)