未設置(編輯:問題更準確的基礎上@邁克爾反饋)獲得一個默認值時,變量是在化妝
在bash中,我經常使用parameter expansion:以下命令打印「default value
」當$VARNAME
未設置,否則,它打印VARNAME內容。
echo ${VARNAME:-default value} #if VARNAME empty => print "default value"
echo ${VARNAME-default value} #if VARNAME empty => print "" (VARNAME string)
我did not find在GNU make
了類似的功能。 我終於在我的Makefile
寫道:
VARNAME ?= "default value"
all:
echo ${VARNAME}
但我不滿意這個解決方案:它總是創建變量VARNAME
,這可能會改變一些makefile文件的行爲。
有沒有更簡單的方法來獲得未設置的變量的默認值?
好的答案... – devnull
只是爲了完整,bash的'$ {VARNAME-default}'(無':')的make版本是' $(如果$(過濾器未定義,$(原始VARNAME),默認,$ {VARNAME})'。(Appologgies,如果我輸入錯誤。) – bobbogo