在 for 循环中使用 seq 时我的 Makefile 出错
Error in my Makefile when using seq in a for loop
我有以下 Makefile:
MYVAR = 10
target:
for i in $(seq 0 $MYVAR)
do
echo "test" . $i
done
基本上我想要得到的是...
test 1
test 2
...
test n
当我尝试 运行 它时,我得到:
我在
语法错误:文件意外结束
正确的魔法是什么?
正确的语法是:
MYVAR = 10
target:
for i in $$(seq 0 $(MYVAR)); \
do \
echo "test" . $$i; \
done
运行方式如下:
$ make
for i in $(seq 0 10); \
do \
echo "test" . $i; \
done
test . 0
test . 1
test . 2
test . 3
test . 4
test . 5
test . 6
test . 7
test . 8
test . 9
test . 10
(我不确定 echo
命令中的 .
是什么意思,如果它不是错字的话)。
请注意,主要是在配方的 shell 命令中,任何 $...
打算由 shell 扩展必须转义为 $$...
以便它是
未由 make
本身展开。
我有以下 Makefile:
MYVAR = 10
target:
for i in $(seq 0 $MYVAR)
do
echo "test" . $i
done
基本上我想要得到的是...
test 1
test 2
...
test n
当我尝试 运行 它时,我得到:
我在 语法错误:文件意外结束
正确的魔法是什么?
正确的语法是:
MYVAR = 10
target:
for i in $$(seq 0 $(MYVAR)); \
do \
echo "test" . $$i; \
done
运行方式如下:
$ make
for i in $(seq 0 10); \
do \
echo "test" . $i; \
done
test . 0
test . 1
test . 2
test . 3
test . 4
test . 5
test . 6
test . 7
test . 8
test . 9
test . 10
(我不确定 echo
命令中的 .
是什么意思,如果它不是错字的话)。
请注意,主要是在配方的 shell 命令中,任何 $...
打算由 shell 扩展必须转义为 $$...
以便它是
未由 make
本身展开。