gpt4 book ai didi

linux - bash 脚本 (Makefile) 嵌套 for 循环中的意外文件结尾错误

转载 作者:太空宇宙 更新时间:2023-11-04 09:59:40 25 4
gpt4 key购买 nike

我在我尝试编写的 Makefile 中有您可以在下面看到的代码片段

当我运行它时,它在第一个“do”时给我一个意外的文件结束错误

我已经尝试删除反斜杠,尽可能多地删除空格等,但我似乎仍然无法让它工作。在这里对大多数此类问题的回答都涉及到人们要么忘记包括“完成”,要么有字距调整问题。在我的代码中似乎不是这种情况

for i in 1 10 25 50 100 1000 10000;\
do\
for j in 1 10 25 50 100 1000 10000;\
do\
./myprogram --threads=j iterations=i>>myfile.csv;\
done\
done

它应该执行上面的测试脚本并将答案附加到 myfile.csv

相反,我收到以下错误:

/bin/sh: -c: line 7: syntax error: unexpected end of file
make: *** [tests] Error 1

谢谢!

最佳答案

这可能是以下内容的重复:How to write loop in a Makefile?

我无法在运行您的代码时遇到错误,但我确实注意到您没有正确引用变量。为了获取变量i的值,您应该在Makefile脚本中编写$$i

在你的情况下:

生成文件

target:
for i in 1 10 25 50 100 1000 10000; \
do \
for j in 1 10 25 50 100 1000 10000; \
do \
./myprogram --threads=$$j iterations=$$i>>myfile.csv; \
done ; \
done

关于linux - bash 脚本 (Makefile) 嵌套 for 循环中的意外文件结尾错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57335628/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com