Перенаправление STDERR при входе в систему - PullRequest
2 голосов
/ 09 июля 2020

У меня есть система меню, к которой автоматически перенаправляются все пользователи. Это делается путем изменения атрибута оболочки в / etc / passwd так, чтобы он указывал на сценарий, который является источником профиля и обычно настраивает среду перед вызовом основной программы.

Например, менеджер хранилища будет таким :

strmgr:x:1234:1234:Store Manager:/home/storeuser:/opt/menu/start_menu.sh

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

Моя первоначальная мысль заключалась в том, чтобы добавить exec &2>/tmp/$$.stderr в начало скрипта, но это не сработает, как я надеялся. Есть еще сообщения, генерируемые системой, которые маскируются отображением меню. Я предполагаю, что они сгенерированы до вызова этого скрипта, хотя я не использую «обычную» оболочку и запуск .profile.

Кто-нибудь знает, как это сделать? Я поискал в Google и ничего не нашел.

1 Ответ

0 голосов
/ 09 июля 2020

Просто так:

exec 2>/tmp/$$.stderr

& - это сокращение для 2>&1 (перенаправить STDERR на STDOUT).

...