我想编写telnet脚本来测试我的网站输入处理。我可以手动完成:
telnet localhost 8888
...
GET / HTTP/1.1\n
Host: localhost
...html response
但我可以在shell脚本中将命令传递给telnet!
我试过了:
(echo "GET / HTTP/1.1\n"; echo "Host: localhost \n\n"; sleep 1) | telnet localhost 8888
根本没有结果!
答案 0 :(得分:3)
我发现netcat
,又名nc
,更适合这类任务。
同样,朱塞佩提到你必须修理报价。 bash -e
的替代方法是使用$'this form'
引用,其中\n
,\t
等在解析命令行时由bash
解释而不是传递给echo
。因此,该表单适用于许多不同的实用程序。
答案 1 :(得分:2)
(可能不是唯一的问题) 你应该“echo -en”,并使用单引号来关闭字符串。这使得bash正确解释\ n
此致
答案 2 :(得分:1)
“我如何编写x?”的常用答案。是“expect
”