Remove a saída do add-apt-repository, sem ocultar erros verdadeiros

0

Estou tentando criar um script que instalará automaticamente alguns pacotes. Uma das linhas que tenho no script é:

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

Mas, por mais que eu tente, ele sempre mostra o seguinte conteúdo:

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

Eu gostaria que houvesse uma saída no para ser exibida na tela quando eu executar este comando para adicionar este ppa ao meu repositório.

Eu sei que eu posso esconder todo o stderr mas ele também irá esconder verdadeiros problemas - eu quero me livrar apenas do log de rotina.

    
por Mateusz Konieczny 22.02.2016 / 18:22

1 resposta

2

O > redireciona apenas sdtout stream, embora seja óbvio que gpg mensagens vão para stderr (caso contrário, elas estariam ocultas). Portanto, não há como redirecionar as mensagens gpg sem afetar as mensagens de erro também.

Mas é possível redirecionar o stderr pelo pipe e filtrar a saída com awk ou grep, ignorando todas as linhas que começam com gpg .

sudo apt-add-repository -y ppa:brightbox/ruby-ng 2>&1 > /dev/null | grep -v '^gpg' 
    
por Sergiy Kolodyazhnyy 22.02.2016 / 18:40