verifique múltiplas portas usando netcat nc

verifique múltiplas portas usando netcat nc

Estou usando o seguinte para esperar até que uma porta seja aberta.

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

como o acima pode ser modificado para verificar várias portas. Portanto, o script deve parar somente quando todas as portas estiverem ocupadas, por exemplo, 8080, 8081 e 8082.

Responder1

Você precisa executar ncseparadamente para cada porta:

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

(dividido em várias linhas para facilitar a leitura)

Isso usa um subshell shell com uma lista de comandos com um &&operador lógico "e"; o segundo nccomando só é executado se o primeiro for bem-sucedido, etc.; assim que todos ncos comandos forem bem-sucedidos, o status de saída do subshell é verdadeiro, isso é negado pelo !e o whileloop termina.

informação relacionada