Remover linhas de stderr [duplicado]

0
    

Esta pergunta já tem uma resposta aqui:

    
  •              Suprimir banner para 'ssh' ou 'scp'                                      1 resposta                          
  •     

Existe uma mensagem personalizada que vem sempre que eu ssh ou scp eu gostaria de esconder. Eu ainda quero que o resto do stderr vá para a saída stderr.

Por exemplo: a.sh contém uma linha: ssh example.com "touch /tmp/a.log ; echo ok"

myuser@host $ ./a.sh
No valid ciphers for protocol version 2 given, using defaults.
#######
# this is prod
#
#######
ok
myuser@host $

Por isso, quero ocultar as primeiras 5 linhas ou, se as colocar no script grep -v -E "#|No valid ciphers for protocol" . Qualquer outro erro ainda deve ser enviado para screen / stderr.

    
por Nir 25.09.2018 / 15:09

2 respostas

2

( exec 7>&1; your_command 2>&1 >&7 | grep -v msg_to_suppress >&2 )

Veja também o link .

    
por 25.09.2018 / 16:42
0

A mensagem do banner parece ter sido definida no servidor remoto. Você deve ser capaz de suprimi-lo com -q :

ssh -q example.com ...

A mensagem de criptografia pode ser suprimida usando uma cifra que corresponda a um dos conjuntos oferecidos pelo servidor. Comece com ssh -Q cipher e experimente configurações como ssh -o [email protected] ...

    
por 25.09.2018 / 16:20