netcat nc를 사용하여 여러 포트 확인

netcat nc를 사용하여 여러 포트 확인

포트가 열릴 때까지 기다리기 위해 다음을 사용하고 있습니다.

while ! nc -z 127.0.0.1 8080; do sleep 0.1; done

여러 포트를 확인하기 위해 위의 내용을 어떻게 수정할 수 있습니까? 따라서 스크립트는 모든 포트(예: 8080, 8081 및 8082)가 사용되는 경우에만 중지되어야 합니다.

답변1

nc각 포트에 대해 별도로 실행해야 합니다 .

while ! (nc -z 127.0.0.1 8080 && nc -z 127.0.0.1 8081 && nc -z 127.0.0.1 8082)
    do sleep 0.1
done

(가독성을 위해 여러 줄로 나누기)

이는 논리적 "and" 연산자가 포함된 명령 목록이 있는 쉘 하위 쉘을 사용합니다 &&. 두 번째 nc명령은 첫 번째 명령이 성공한 경우에만 실행됩니다. 모든 nc명령이 성공하면 하위 쉘의 종료 상태가 true가 되며 이는 루프에 의해 무효화되고 !루프 while가 종료됩니다.

관련 정보