Ответ 1
Команды могут выполняться условно с помощью модификатора test:
. Вы указываете тест, который нужно выполнить. Если тест возвращает 0, команда запускается, иначе это не так.
Если последняя команда в файле конфигурации касается файла и команды выше, которые вы хотите запустить только после проверки наличия этого файла, то эти команды будут запускаться только в первый раз.
commands:
01-do-always:
command: run_my_script
02-do-on-boot:
command: script_to_run_once
test: test ! -f .semaphore
99-signal-startup-complete:
command: touch .semaphore
В Windows это будет что-то вроде этого
commands:
01-do-always:
command: run_my_script
02-do-on-boot:
command: script_to_run_once
test: if exists c:\\path\\to\\semaphore.txt (exit 0) else (exit 1)
99-signal-startup-complete:
command: date > c:\\path\\to\\semaphore.txt