Такой простой bash-скрипт, который содержит всего две строки.
cat show.sh
systemctl status cron
exit 0
Выполнил его с рутом в терминале.
bash show.sh
Вся информация о cron.service отображается на терминале.
cron.service - Regular background program processing daemon
Loaded: loaded (/lib/systemd/system/cron.service; enabled; vendor preset: ena
Active: active (running) since Sat 2019-08-10 06:51:18 EDT; 13h ago
Docs: man:cron(8)
Почему show.sh не находится в статусе выхода, чтобы добавить щелчок по q
, произойдет выход из show.sh, почему exit 0
не выполняется? как его вызвать?
Мое ожидание: показать информацию о cron.service на терминале и выйти из шоу .sh script.
Наполовину сделано для моего show.sh, просто покажите информацию о cron.service на терминале.
Имеет смысл, что длинный скрипт автоматизирует работу, две приведенные выше строки — последний шаг, чтобы показать статус всего скрипта.
exit
не запускается, пока не завершитсяsystemctl
. Еслиsystemctl status cron
ждет, пока вы нажметеq
, то вот вам и ответ. - person Charles Duffy   schedule 11.08.2019exit 0
. Если у вас его нет, сценарий завершает работу со статусом последней запущенной им команды (то есть поведением по умолчанию являетсяecho "$?"
), что полезно: он проходит через статус выходаsystemctl
, поэтому вызывающая сторона вашего сценария знает, что результат. - person Charles Duffy   schedule 11.08.2019exit "$?"
, а неecho "$?"
, конечно). - person Charles Duffy   schedule 29.04.2020