У меня есть netcat, установленный на моем локальном компьютере, и служба, работающая на порту 25565. Используя команду:
nc 127.0.0.1 25565 < /dev/null; echo $?
Netcat проверяет, открыт ли порт, и возвращает 0, если он открыт, и 1, если он закрыт.
Я пытаюсь написать сценарий bash для бесконечного цикла и выполнять указанную выше команду каждую секунду, пока вывод команды не станет равным 0 (порт откроется).
Мой текущий сценарий просто продолжает бесконечно повторять «...» даже после открытия порта (1 становится 0).
until [ "nc 127.0.0.1 25565 < /dev/null; echo $?" = "0" ]; do
echo "..."
sleep 1
done
echo "The command output changed!"
Что я здесь делаю не так?
nc 127.0.0.1 25565 < /dev/null; echo $?
? - person csiu   schedule 24.02.2014