stderrから行を削除する

stderrから行を削除する

非表示にするたびにsshカスタムscpメッセージが表示されます。私はまだstderrの残りの部分がstderr出力に移動したいと思います。

たとえば、次のようになりますa.sh。 1行が含まれます。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 $

だから最初の5行を隠したり、スクリプトに入れたいですgrep -v -E "#|No valid ciphers for protocol"。他のエラーはまだscreen / stderrとして出力する必要があります。

答え1

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

また、見ることができますhttps://stackoverflow.com/questions/3618078/pipe-only-stderr-through-a-filter

答え2

バナーメッセージはリモートサーバーに設定されているようです。これにより、これを抑制できるはずです-q

ssh -q example.com ...

サーバーが提供するパスワードセットと一致するパスワードを使用してパスワードメッセージを表示しないことがあります。まず、ssh -Q cipher次のように設定してみてください。ssh -o [email protected] ...

関連情報