聲明我有一個Makefile具有可變如下:生成文件設定如果目標
AVAR=""
all :
if [ -d ../old ]; then \
(echo "[email protected] Ping!"; AVAR="../old"; echo $(AVAR)) \
fi
@echo $(AVAR)
的想法是,根據目錄的存在「../old」我還是不 有信息在AVAR(稍後可用),但是,如果評估爲真,Ping!被迴應,但沒有分配給AVAR,無論是在if語句內部還是外部。
輸出如下:
$ make all
if [ -d ../old ]; then \
(echo "all Ping!"; AVAR="../old"; echo "") \
fi
all Ping!
任何見解理解。
差不多,它適用於echo _within_ if,但不是if之外的那個。 – NWS
最簡單的解決方案?通過在'fi'之後放置; \來鏈接它。 – eriktous