【发布时间】:2014-03-25 18:52:42
【问题描述】:
我在本地机器上安装了一个 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 命令,它只是一个字符串。
-
只是一个建议,但您是否尝试过在
nc 127.0.0.1 25565 < /dev/null; echo $?周围使用反引号而不是双引号?