Хотя цикл выполняется на 1 раз больше, чем ожидалось - PullRequest
0 голосов
/ 28 апреля 2019

Хотя цикл внутри объекта 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

Как видите, в первый раз число не определяется, даже если оно установлено выше.

1 Ответ

0 голосов
/ 28 апреля 2019

Попробуйте изменить инициализатор 'number' на единицу без символа '@', например:

до: @number = 1; \

после: number = 1; \

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...