(编辑:基于@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 的行为。
有没有更简单的方法来获取未设置变量的默认值?