Удалите вывод из add-apt-repository, не скрывая истинные погрешности

Я пытаюсь написать сценарий, который автоматически установит некоторые пакеты. Одна из строк, которые я имею в сценарии:

sudo apt-add-repository ppa:brightbox/ruby-ng -y > /dev/null 

Но попробуйте, поскольку я могу он всегда производить следующее содержание:

gpg: keyring `/tmp/tmpf0k2tr/secring.gpg' created
etc........

Я хотел бы там не быть никаким выводом, который будет отображен на экран, когда я выполняю эту команду для добавления этого ppa к моему репозиторию.

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

0
задан 13 April 2017 в 15:24

1 ответ

> перенаправления только sdtout поток, в то время как очевидно, что gpg сообщения переходят в stderr (иначе они были бы скрыты). Таким образом нет никакого способа перенаправить gpg сообщения, не влияя на сообщения об ошибках также.

, Но возможно перенаправить stderr через канал и отфильтровать вывод с awk или grep, игнорируя все строки, которые запускаются с gpg.

sudo apt-add-repository -y ppa:brightbox/ruby-ng 2>&1 > /dev/null | grep -v '^gpg' 
2
ответ дан 24 July 2019 в 10:35

Другие вопросы по тегам:

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