shell脚本,Netcat的结果无法写入文件。

#!/bin/bash
cmd=`nc -v '192.168.3.2 80'` 
datetime=$(date '+%Y-%m-%d %H:%M:%S')
aaa=${cmd}
FILE="/home/"$(date '+%Y-%m-%d')"_log.txt"
echo $datetime >> $FILE
echo "$aaa" >> $FILE

image

图片中第一个结果是cmd变量使用ps命令获取到的,第二个用nc命令获取到的是空,试了好几个写法,都无法写入文件。

阅读 2.5k
1 个回答

猜测你要访问的 192.168.3.2:80 是 HTTP 服务器, 那么 nc 需要发送 HTTP 请求才会收到内容。例如:

cmd=`echo -ne 'HEAD / HTTP/1.0\r\n\r\n' | nc -v 192.168.3.2 80`

当然,更方便的应该使用 wgetcurl 之类的工具。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏