Makefile - for循环语法错误

时间:2014-06-18 17:40:50

标签: makefile io-redirection

在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 `>'

你知道怎么解决吗?

1 个答案:

答案 0 :(得分:0)

您在$(LIST)之后缺少; 。在开始for阻止之前,您需要终止提供给do的字词列表。

如评论中所示,你还需要一个:在echo行的末尾(运行的命令没有新行,就像它在普通命令行中工作一样,所以你需要明确地将命令彼此分开。)

此外,要获得您期望的结果,您需要使用$$i转义shell命令中的$(同时选择$i$ii之一作为您的变量名称)。