簡體   English   中英

bash腳本(Makefile)嵌套的for循環中意外的文件錯誤結束

[英]Unexpected end of file error in bash script (Makefile) nested for-loop

我有下面要在我的Makefile中看到的代碼片段

當我運行它時,它在第一個“執行”操作中給我意外的文件結束錯誤

我試圖刪除反斜杠,刪除盡可能多的空格等等,但是我似乎還是無法正常工作。 在這里,對於大多數此類問題的回答涉及人們要么忘記添加“完成”,要么出現字距調整問題。 在我的代碼中似乎並非如此

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

謝謝!

這可能是重復的: 如何在Makefile中編寫循環?

我無法在運行代碼時出錯,但是我確實注意到您沒有正確引用變量。 為了獲得變量i的值,您應該在Makefile腳本中編寫$$i

在您的情況下:

Makefile文件

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM