在Makefile中,我需要循环遍历列表并将列表的当前元素写入文件中。 代码如下:
SHELL := /bin/bash
LIST = A B C
test:
for i in $(LIST) do \
echo $ii > file.txt \
done
我收到以下错误:
/bin/bash: -c: line 1: syntax error near unexpected token `>'
你知道怎么解决吗?
答案 0 :(得分:0)
您在$(LIST)
之后缺少; 。在开始for
阻止之前,您需要终止提供给do
的字词列表。
如评论中所示,你还需要一个:在echo
行的末尾(运行的命令没有新行,就像它在普通命令行中工作一样,所以你需要明确地将命令彼此分开。)
此外,要获得您期望的结果,您需要使用$$i
转义shell命令中的$(同时选择$i
或$ii
之一作为您的变量名称)。