Make对象内部的循环执行时间比预期时间多1。
我在我的make对象中使用while循环来检查一些文件。我需要运行3次,但是在没有设置while索引的情况下,它在第一个循环中运行了4次。
check_diag_results:
@echo "Checking Diagnostic Test Results ..."
@number = 1; \
while [[ $$number -le 3 ]]; do \
if grep -q 'Test PASSED' "$(RESULTS)/diagnostics_rtl_tc$$number.txt"; then \
echo "Testcase $$number Passed"; \
else \
echo "Testcase $$number Failed"; \
fi; \
(( number = $$number + 1 )); \
done
@echo "... Done"
这是结果:
Checking Diagnostic Test Results ...
/usr/bin/sh: number: command not found
grep: ./results/diagnostics_rtl_tc.txt: No such file or directory
Testcase Failed
Testcase 1 Passed
Testcase 2 Passed
Testcase 3 Failed
... Done
如您所见,即使第一次将数字设置在while之上,也没有定义。
答案 0 :(得分:0)
尝试将“数字”初始值设定项更改为不带有“ @”字符的数字,如下所示:
之前:@number = 1; \
之后:number = 1; \