2014-10-01 57 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(它,虽然你目前看不到,正在工作)。