У меня есть сценарий с условным оператором, и я хочу выяснить, сколько раз выполняется предложение then
за несколько запусков одного и того же сценария.
Например:
if [condition]
then
Some code;
ACTIVATE COUNTER;
else
Some code;
RESET COUNTER;
fi
Необходимо сохранить количество где-нибудь, оно сохранится через несколько выполнений сценария, так как переменные находятся только в памяти для того единственного выполнения.
Самое легкое место находится, вероятно, в файле.
Конкретным путем Вы храните его в файле, зависит от нескольких факторов включая то, сколько раз Вы считаете, и ожидаете ли Вы параллельные выполнения. Простой устойчивый путь был бы похож на это
if CONDITION
then
echo run >> ~/script-counter
fi
Это добавляет строку в файл каждый раз, когда это работает. (Вы могли бы хотеть выбрать лучшее имя или местоположение для файла для отражения то, что это на самом деле делает в программе.)
Это довольно просто, и будет довольно устойчиво, если сценарий прерван или если Вы выполняете несколько копий одновременно.
Затем можно найти количество с wc -l ~/script-counter
Можно сбросить счетчик, просто освободив файл, с
: > ~/script-counter
(:
оболочка встроенная команда, которая ничего не делает, таким образом перенаправление ее в файл освобождает файл.)