Используя тройник, я теряю свои привилегии sudo

Я пишу установочный скрипт и мне нужно запустить его sudo когда я тестирую его на экземплярах AWS RedHat, я не могу root, Я хочу записать журнал в файл, а также на экран. Нет ничего проще,

Я могу пойти в школу >> /tmp/Solr_Install.log 2>&1 и запустить хвостовой процесс в фоновом режиме: tail -f installer.log & Это решение имеет тенденцию дублировать или утроить вывод на экране, поэтому я выбрал решение "тройник-тоталлер".

Просто используйте силу силы и 2>&1 | tee -a /tmp/Solr_Install.log С этим решением я теряю свои права sudo, и сценарий не выполняется.

Вопросы: почему хвост показывает одну и ту же линию 2-3 раза? (Имеет ли это какое-то отношение к тому, что tail -f отображает последние 10 строк?)

  • Можно ли это как-то исправить?

  • Почему я теряю свое sudo, когда я чаю?

  • Можно ли этого избежать?

  • Есть ли другой способ выбросить материалы журнала в файл и на экран одновременно?

1 ответ

sudo не является привилегией, специфичной для сессии. sudo это команда, которая запускает другие команды с повышенными привилегиями. Так что просто беги tee с sudo:

2>&1 | sudo tee -a /tmp/Solr_Install.log W
Другие вопросы по тегам