【发布时间】:2020-10-22 16:35:16
【问题描述】:
if [[ $(timeout 3 nc -zv 172.31.3.2 88) = *open* ]];then
echo "Port Open"
else
echo "Port Closed"
fi
我正在尝试检查一个端口是否打开,如果它打开,它会打印出打开的端口。
我正在使用 netcat 来做到这一点。
它应该返回类似:[172.31.3.2] 88 (kerberos) open。
我正在尝试检查输出中的那个 open 字符串,然后如果它说它将返回 port open
由于某种原因,它只是不断返回:
[172.31.3.2] 88 (kerberos) open
Port Closed
【问题讨论】:
-
只有写入 stdout 而非 stderr 的内容才会被命令替换捕获。
标签: bash