我想检查端口连接并将nc
结果转发到文本文件。
stdout
工作正常。stderr
是空的,如果你不使用-v
(我不想要),所以我想配置错误输出,例如Servername: no connection
nc
是版本v1.10-41+b1。
这是命令
nc -z -G 5 $Servername $Portname >> telnet_log.txt 2>&1
答案1
nc
在 macOS 上,如果无法连接到主机,则会以非零退出状态退出。您可以在 - 语句中使用此事实if
来输出您自己的错误消息:
if ! nc -z -G 5 "$server" "$port"; then
printf '%s: no connection (port=%s)\n' "$server" "$port" >&2
fi >>nc-results.log 2>&1
如果连接成功,这会将nc
标准输出上生成的任何数据添加到文件中nc-report.log
,但如果未连接,则会添加您自己的自定义错误。