![NC에서 stderr을 구성하는 방법은 무엇입니까?](https://linux55.com/image/164663/NC%EC%97%90%EC%84%9C%20stderr%EC%9D%84%20%EA%B5%AC%EC%84%B1%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
nc
포트 연결을 확인하고 결과를 텍스트 파일로 전달하고 싶습니다 .
stdout
잘 작동합니다. stderr
사용하지 않으면 비어 -v
있으므로(원하지 않음) 오류 출력을 구성하고 싶습니다.Servername: no connection
nc
v1.10-41+b1 버전입니다.
이것은 명령이다
nc -z -G 5 $Servername $Portname >> telnet_log.txt 2>&1
답변1
nc
macOS에서 호스트에 연결할 수 없는 경우 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
그렇지 않은 경우 사용자 정의 오류가 추가됩니다.