我有以下Makefile:
MYVAR = 10
target:
for i in $(seq 0 $MYVAR)
do
echo "test" . $i
done
基本上我想要的是......
test 1
test 2
...
test n
当我尝试运行它时,我得到:
for in in syntax error:意外的文件结尾
对此有什么正确的魔力?
正确的语法是:
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
本身不会扩展它。