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

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

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

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

nc버전은 v1.10-41+b1입니다.

명령은 다음과 같습니다

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

답변1

ncmacOS에서는 호스트 연결에 실패하면 0이 아닌 종료 상태로 종료됩니다. -statement 에서 이 사실을 사용하여 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연결되지 않으면 사용자 정의 오류가 추가됩니다.

관련 정보