Хотя цикл внутри объекта Make выполняется на 1 раз больше, чем ожидалось.
Я использую цикл while в моем объекте make для проверки некоторых файлов. Мне нужно запустить его 3 раза, но он запускается 4 раза с первым циклом без установленного индекса while.
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
Как видите, в первый раз число не определяется, даже если оно установлено выше.