Я пытаюсь написать сценарий, который автоматически установит некоторые пакеты. Одна из строк, которые я имею в сценарии:
sudo apt-add-repository ppa:brightbox/ruby-ng -y > /dev/null
Но попробуйте, поскольку я могу он всегда производить следующее содержание:
gpg: keyring `/tmp/tmpf0k2tr/secring.gpg' created
etc........
Я хотел бы там не быть никаким выводом, который будет отображен на экран, когда я выполняю эту команду для добавления этого ppa к моему репозиторию.
Я знаю, что могу скрыть весь stderr, но он скроет также истинные проблемы - я хочу избавиться от только стандартного журнала.
>
перенаправления только sdtout
поток, в то время как очевидно, что gpg
сообщения переходят в stderr
(иначе они были бы скрыты). Таким образом нет никакого способа перенаправить gpg
сообщения, не влияя на сообщения об ошибках также.
, Но возможно перенаправить stderr через канал и отфильтровать вывод с awk или grep, игнорируя все строки, которые запускаются с gpg
.
sudo apt-add-repository -y ppa:brightbox/ruby-ng 2>&1 > /dev/null | grep -v '^gpg'