使用 grep 在 telnet 连接的输出中查找单词

问题描述 投票:0回答:1

我想使用 telnet 连接到系统并检查响应中是否有

foreign

我正在努力...

echo quit | telnet 192.0.0.1 443 | grep -q "foreign"

连接成功意味着在字符串中找到了“foreign”。这是因为在输出中我得到类似...

Trying 192.0.0.1
Connected to 192.0.0.1
Connection closed by foreign host

但是如果我检查

echo $?
我会得到一个
1
表明它找不到这个词。我的猜测是这是由于多行输出造成的。

有没有办法处理这个问题,以便我从

0
得到
echo $?

必须通过终端完成 - 没有脚本等

linux grep telnet
1个回答
0
投票

我会做什么:

{ sleep 1; echo quit; } | telnet 192.0.0.1 443 2>&1 | grep -q "foreign"
© www.soinside.com 2019 - 2024. All rights reserved.