stderr에서 줄 제거

stderr에서 줄 제거

숨기고 싶을 때마다 ssh맞춤 scp메시지가 나타납니다 . 나는 여전히 stderr의 나머지 부분이 stderr 출력으로 이동하기를 원합니다.

예를 들면 다음과 같습니다 a.sh. 한 줄이 포함됩니다.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] ...

관련 정보