嵌套循环中的Makefile变量引用

嵌套循环中的Makefile变量引用,makefile,Makefile,我在for循环中调用一个脚本,遇到了变量扩展的问题,其中两个变量中的第一个没有包含在输出中。(注:代码改编自) 有没有关于如何回避这个问题的想法 谢谢 zach cp这是一个外壳问题,而不是制造问题。如果执行x=1;y=a;echo$x_$y.txt您将看到相同的输出。这是因为\是一个有效的shell变量名称字符,所以$x\是一个有效的shell变量,未设置。shell正在打印变量$x,后跟$y,后跟.txt 如果以下字符是有效的shell变量名称字符,请确保在shell变量周围使用大括号: L

我在for循环中调用一个脚本,遇到了变量扩展的问题,其中两个变量中的第一个没有包含在输出中。(注:代码改编自)

有没有关于如何回避这个问题的想法

谢谢
zach cp

这是一个外壳问题,而不是制造问题。如果执行
x=1;y=a;echo$x_$y.txt
您将看到相同的输出。这是因为
\
是一个有效的shell变量名称字符,所以
$x\
是一个有效的shell变量,未设置。shell正在打印变量
$x
,后跟
$y
,后跟
.txt

如果以下字符是有效的shell变量名称字符,请确保在shell变量周围使用大括号:

LIST1 := a b c
LIST2 := 1 2 3

all:
        @for x in $(LIST1); do \
          for y in $(LIST2); do\
            echo $$x $$y; \ 
            echo $${x}_$$y.txt; \
          done \
        done
LIST1 := a b c
LIST2 := 1 2 3

all:
        @for x in $(LIST1); do \
          for y in $(LIST2); do\
            echo $$x $$y; \ 
            echo $${x}_$$y.txt; \
          done \
        done