Ваша проблема заключается в Type=simple
в описании службы VPN. Arch wiki немного разъясняет страницу руководства:
Type=simple
(по умолчанию):systemd
считает, что служба должна быть запущена немедленно. Процесс не должен быть вилочным. Не используйте этот тип, если другие службы должны быть заказаны на этой службе, если только она не активирована сокетами.
Вы, вероятно, можете заставить его работать, изменив тип:
Type=oneshot
: это полезно для скриптов, которые выполняют одно задание и затем выходят. Вы возможно захотите установитьRemainAfterExit=yes
также, чтобыsystemd
все еще считал службу активной после завершения процесса.
«История» — это история «ранее введенных» команд.
«Когда опция -o history для встроенной функции set включена... оболочка предоставляет доступ к истории команд, списку ранее введенных команд».
Таким образом, он не заменяет переменные оболочки и не сохраняет итерации цикла.
Для этого вы можете использовать отладку bash, вызвав свой скрипт так:
bash -x myscript > to-my-log-file
Затем, в случае сбоя, вы можете увидеть, что произошло в файле журнала (при условии, что система успела очистить выходной буфер ).