2014-10-01 66 views
0

我有以下規則生成文件,makefile文件backtic未設置變量

所有:

echo `${PWD_COMMAND}`; \ 
r=`${PWD_COMMAND}`; export r; \ 
sdir=`cd $(srcdir); ${PWD_COMMAND}`; export sdir; \ 
echo "r $(r)"; \ 
echo "sdir $(sdir)"; \ 
libsrcdir="$$sdir/mpfr"; \ 
echo $(libsrcdir) 

回聲$ {PWD_COMMAND}工作正常,我回到了正確的目錄, 但r變量和sdir變量未設置。 我得到輸出

"r " 
"sdir " 
"/mpfr" 

任何人都可以解釋爲什麼這是行不通的?

謝謝你,比爾

回答

0

我假設${PWD_COMMAND}是一個讓變量?至於$(srcdir)

但是$(r)$(sdir)呢?那些是變量還是shell變量?

什麼擴展他們在那一行?

set -x放在那條長長的一行的開頭,看看你在輸出時得到了什麼。

提示:你不會得到你期待看到的。

雙提示:比較$(sdir)echo "sdir $(sdir)"(這是不工作)和$$sdir/mpfr(它,雖然你目前看不到,正在工作)。