You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在telnet连接响应中用grep检测foreign并获取正确的$?退出码?

解决telnet检测"foreign"时$?返回1的问题

问题根源在于telnet的部分输出(比如你看到的Connection closed by foreign host)是输出到标准错误流(stderr)的,而你原命令只将标准输出流(stdout)传递给grep,导致grep无法捕获到目标内容,最终返回状态码1。

直接在终端执行以下命令即可解决:

echo quit | telnet 192.0.0.1 443 2>&1 | grep -q "foreign"

其中2>&1的作用是将标准错误流重定向到标准输出流,让telnet的所有输出都能被grep检测到。执行完该命令后,再运行echo $?就会返回0。

内容的提问来源于stack exchange,提问作者cpd1

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 10:54:53