NC에서 stderr을 구성하는 방법은 무엇입니까?

NC에서 stderr을 구성하는 방법은 무엇입니까?

nc포트 연결을 확인하고 결과를 텍스트 파일로 전달하고 싶습니다 .

stdout잘 작동합니다. stderr사용하지 않으면 비어 -v있으므로(원하지 않음) 오류 출력을 구성하고 싶습니다.Servername: no connection

ncv1.10-41+b1 버전입니다.

이것은 명령이다

nc -z -G 5 $Servername $Portname >> telnet_log.txt 2>&1

답변1

ncmacOS에서 호스트에 연결할 수 없는 경우 0이 아닌 종료 상태로 종료됩니다. - 문에서 이 사실을 사용하여 if고유한 오류 메시지를 출력할 수 있습니다.

if ! nc -z -G 5 "$server" "$port"; then
    printf '%s: no connection (port=%s)\n' "$server" "$port" >&2
fi >>nc-results.log 2>&1

nc연결이 성공하면 표준 출력에서 ​​생성된 모든 데이터가 파일에 추가 되지만 nc-report.log그렇지 않은 경우 사용자 정의 오류가 추가됩니다.

관련 정보