проверить несколько портов с помощью Netcat NC

0

Я использую следующее, чтобы дождаться открытия порта.

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

как можно изменить вышеперечисленное для проверки нескольких портов. Таким образом, сценарий должен останавливаться только тогда, когда все порты заняты, например, 8080, 8081 и 8082.

Абхишек Тхакур
источник

Ответы:

0

Вам нужно запустить 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

(разделить на несколько строк для удобства чтения)

При этом используется подоболочка оболочки со списком команд с логическим &&оператором «и» ; вторая ncкоманда запускается только в случае успеха первой и т. д .; как только все ncкоманды успешны, статус выхода подоболочки равен true, это отменяется !и whileцикл завершается.

wurtel
источник