Как читать стандартный вывод из сценария, запущенного системой?

. Я хочу отладить сценарий, который я разместил в /etc/pm/sleep.d . В моем сценарии я использую команду echo , чтобы сообщить о состоянии.

Где я могу прочитать этот вывод? Я думаю о чем-то вроде dmesg или о файле в / var / log , может быть?

Это лучший способ? Какова стандартная практика при отладке сценариев bash, которые должны выполняться системой (например, в /etc/init.d/ или. Xinit )?

0
26.05.2017, 03:02
2 ответа

Я обнаружил, что вместо echo вы можете использовать регистратор для вывода команд в системный журнал с целью отладки.

logger "Oh no"

Затем вы можете проверить вывод в /var/log/syslog

sudo tail /var/log/syslog
1
28.01.2020, 02:33

Как вы уже упоминали, в вашем скрипте есть инструкция echo.

Теперь отредактируйте ваш скрипт и вот так в начале файла после shebang.

> /tmp/myoutput

myoutput — это просто имя файла в каталоге /tmp, вы можете выбрать что угодно.

После этого, везде, где у вас есть оператор echo в вашем скрипте, подобный этому,

echo "something"

измените его на

echo "something" >> /tmp/myoutput

вот и все, так что каждый раз, когда ваш скрипт запускается, вы будете иметь последнюю дорожку того, что произошло с вашим скриптом.

1
28.01.2020, 02:33

Теги

Похожие вопросы