2011-06-22 10 views
0
に#(シャープ記号)を印刷する方法

は、あなたのように設定されている変数があるとします。Makefileの

以上のことは、Makefileの出力メイクを介して実行されません
AVar = "#" 

echo "${AVar}" 

#エスケープする必要がありますが、AVarのコンテンツに特殊文字が含まれていない可能性があります。

私はAvarを逃れることができますか? GNUでの作業テスト済み

答えて

1

のMacOS X上で3.81を行います

AVar = "\#" 

foo: 
    @echo "${AVar}" 

を私はあなたが「AVARは、その内容に特別な文字を持たないかもしれない」によって何を意味するかわかりません。この場合、make#が文字列の一部であり、コメントの開始ではないことを伝える唯一の方法です。

+0

あなたはAVar = "#"に "\"エスケープがない場合を意味します。 #echo "$ {Avar}"は機能しますか? – whoi

+0

@whoi no、それは動作しません。なぜなら '#'は文字列の中にあってもコメントの先頭だと思うからです。 GNUでは、 'AVar =" foo:@echo "'とそれに続く '$ {Avar}" 'で終わるようになります。最後のビットの終止符は、構文エラーを引き起こします。 – Alnitak