我想检查我是否可以从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