如何检查是否可以连接到bash中的端口



我想检查我是否可以从bash脚本中连接到端口

根据类似问题的答案,我尝试运行

nc -zvw10 <host> <port>

并检查状态代码是否为0/1

但是很多次它返回"0";连接被拒绝";并退出脚本(似乎没有返回代码(

我只想在脚本返回0时退出,这意味着建立了连接。

使用布尔运算符:

#!/bin/bash
nc -zvw10 $1 $2 && exit 1 || echo "continue."
echo "It continues."

在关闭的端口上,它停止:

bash bar.sh localhost 2048
nc: connect to localhost port 2048 (tcp) failed: Connection refused
continue.
It continues.

开放端口:

bash bar.sh localhost 2049
Connection to localhost 2049 port [tcp/nfs] succeeded!

您可以使用nc -zvw10 <host> <port> &>/dev/null将输出和错误流重定向到/dev/null

相关内容

  • 没有找到相关文章

最新更新