Linux 一段时期内将 telnet 消息中的数据写入文件的脚本
Linux script to write data from telnet message into a file while a period
我正在连接到 telnet 侦听器。 Telnet 服务器每秒发送一些数据。我想在 X 秒内读取消息并将其写入文件(例如我们将花费 6 秒)。
注意:示例中的 IP 地址已更改为 'IP'。 'Port'.
相同
我已经尝试了一些东西:
#!/bin/bash
#myScript.sh
telnet IP Port >> myFile.txt
sleep 6
pkill myScript.sh
这个解决方案写在我的文件中,但我的脚本永远不会结束。
这是我的第二个命题:
#!/bin/bash
#myScript.sh
timeout 6 telnet IP Port >> myFile.txt
这里,这是另一个问题,遵守超时,脚本在 6 秒后结束,但在 'myFile.txt',我有
Trying IP...
Connected to IP.
Escape character is '^]'
我怎样才能使这个脚本正确?
注意:我必须使用Telnet。
在您的第一个解决方案中,您可以尝试尝试:
telnet IP Port 2>&1 | tee myFile.txt &
sleep 6
exit
这会将 telnet 命令发送到后台进程,然后在 6 秒后退出。
在您的第二个解决方案中,您可以尝试:
timeout 6 telnet IP Port 2>&1 | tee myFile.txt
这会将 stderr 和 stdoutt 发送到 myFile.txt
https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
或者,正如其他人所建议的那样,使用 netcat:
timeout 6 nc -vz IP Port 2>&1 | tee myFile.txt
我正在连接到 telnet 侦听器。 Telnet 服务器每秒发送一些数据。我想在 X 秒内读取消息并将其写入文件(例如我们将花费 6 秒)。
注意:示例中的 IP 地址已更改为 'IP'。 'Port'.
相同我已经尝试了一些东西:
#!/bin/bash
#myScript.sh
telnet IP Port >> myFile.txt
sleep 6
pkill myScript.sh
这个解决方案写在我的文件中,但我的脚本永远不会结束。
这是我的第二个命题:
#!/bin/bash
#myScript.sh
timeout 6 telnet IP Port >> myFile.txt
这里,这是另一个问题,遵守超时,脚本在 6 秒后结束,但在 'myFile.txt',我有
Trying IP...
Connected to IP.
Escape character is '^]'
我怎样才能使这个脚本正确?
注意:我必须使用Telnet。
在您的第一个解决方案中,您可以尝试尝试:
telnet IP Port 2>&1 | tee myFile.txt & sleep 6 exit
这会将 telnet 命令发送到后台进程,然后在 6 秒后退出。
在您的第二个解决方案中,您可以尝试:
timeout 6 telnet IP Port 2>&1 | tee myFile.txt
这会将 stderr 和 stdoutt 发送到 myFile.txt
https://www.gnu.org/software/libc/manual/html_node/Standard-Streams.html
或者,正如其他人所建议的那样,使用 netcat:
timeout 6 nc -vz IP Port 2>&1 | tee myFile.txt