For循环不工作在Makefile中:“我在这个时候是意外的”

我有一个非常简单的makefile

all: @for i in 1 2 3;\ do \ echo "i: $$i";\ done 

然而,当我运行这个,我得到了“我在这个时候是意外的”错误。

任何想法为什么是这样的情况?

我在Windows XP上运行。 上述脚本的Windows相当于什么?

如果您在Windows上运行(可能是由于此原因 ),则您编写的命令必须是有效的Windows命令。 我的意思是你可以在Windows shell cmd.exe运行的命令。

在这里,您尝试运行的命令是针对bash shell的有效UNIX命令。 它们不适用于Windows外壳。

似乎为我工作得很好:

 [01:30:10] [/ tmp] $ make
我:1
我:2
我:3
 [01:30:26] [/ tmp] $ cat Makefile
所有:
         @for我在1 2 3; \
        做\
        回声“我:$$我”; \
         DONE