( exec 7>&1; your_command 2>&1 >&7 | grep -v msg_to_suppress >&2 )
Veja também o link .
Esta pergunta já tem uma resposta aqui:
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.
( exec 7>&1; your_command 2>&1 >&7 | grep -v msg_to_suppress >&2 )
Veja também o link .
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] ...
Tags ssh grep stdout stderr shell-script