2011-06-22 40 views
0
打印#(銳符號)

假如你有一個被設置爲一個變量:如何在一個Makefile

AVar = "#" 

echo "${AVar}" 

通過使上面的東西並不在Makefile文件輸出運行時。

#必須轉義,但AVar的內容可能沒有特殊的字符?

那麼,我可以逃脫阿瓦爾?

回答

1

測試了GNU工作補充3.81在MacOS X:

AVar = "\#" 

foo: 
    @echo "${AVar}" 

我不知道你是什麼意思「AVAR可能沒有在內容上特殊字符」。在這種情況下,它是告訴make#是字符串的一部分的唯一方式,而不是註釋的開始。

+0

我的意思是當你有AVar =「#」沒有「\」轉義。將#echo「$ {Avar}」工作? – whoi

+0

@whoi no,這不起作用,因爲它認爲'#'是註釋的開始,即使它在一個字符串內。 GNU讓你最終得到'AVar =「foo:@echo」',後面跟着'$ {Avar}'',這個最後一位的未終止引用導致語法錯誤。 – Alnitak