Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Makefile-for循环的语法错误_Makefile_Io Redirection - Fatal编程技术网

Makefile-for循环的语法错误

Makefile-for循环的语法错误,makefile,io-redirection,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 `>' 你知道如何修复它吗?你缺少一个;在$(列表)之后。在启

在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 `>'
你知道如何修复它吗?

你缺少一个;在
$(列表)
之后。在启动
do
块之前,您需要终止为
提供的单词列表

如注释中所示,您还需要在
echo
行的末尾加一个:(运行的命令没有换行符,这与正常命令行的工作方式相同,因此您需要显式地将命令彼此分离)


此外,为了获得预期的结果,您需要使用
$$i
在shell命令中转义$i(也可以选择
$i
$ii
中的一个作为变量名)。

@Giove在
完成之前也需要一个变量名<代码>用于。。。;做完成
您还需要使用双美元符号转义shell变量引用:
$$ii
而不是
$ii