Windows 上“nc -z localhost 3300”的替代方案

Windows 上“nc -z localhost 3300”的替代方案

我有一个要在 Linux 中运行的 sh。

但是我使用的是 Windows,所以我必须能够在 Windows 中运行它

有一段代码执行以下操作

while ! nc -z localhost 3300; do
    echo "Waiting for MariaDb"
    sleep 0.1
done

但是由于 nc 不起作用,我无法在 Windows 中复制它。

精确命令的替代方法是什么?

答案1

我相信你可以用基本方法做到这一点telnet,但 powershell 可能有更好的方法。这是在 bash 中可以做到的:

$ exit=0 ; while (( exit != 1)) ; do { echo "open 127.0.0.1 22" ; sleep 2; } | \
  telnet 2>/dev/null | grep -q '^Connected to 127.0.0.1.' && exit=1 || echo 'Waiting for SSH...' ; done
Waiting for SSH...
Waiting for SSH...
Waiting for SSH...
Waiting for SSH...
Waiting for SSH...

相关内容