(编辑:基于@Michael反馈的问题更准确)
在 bash 中,我经常使用参数扩展:以下命令在未设置default value时打印“” $VARNAME,否则打印 VARNAME 内容。
echo ${VARNAME:-default value} #if VARNAME empty => print "default value"
echo ${VARNAME-default value} #if VARNAME empty => print "" (VARNAME string)
我没有在 GNU 上找到类似的功能make。我终于在我的Makefile:
VARNAME ?= "default value"
all:
echo ${VARNAME}
但我对这个解决方案不满意:它总是创建变量VARNAME,这可能会改变某些 makefile 的行为。
有没有更简单的方法来获取未设置变量的默认值?