我正在尝试使用Netcat将一堆命令发送到IP摄像头。我的问题是发送多个命令。这很好用:
echo get_video_state | nc -u -i 1 -w 5 192.168.xxx.xx 60000
并返回预期值"is_stopped"
然而,当我尝试这样的几个命令时:
echo get_video_state | echo get_resolution | nc -u -i 1 -w 5 192.168.xxx.xx 60000
我希望首先发送'get_video_state'
参数,然后延迟1秒(因为-i 1),然后是-get_resolution'
。但是,只返回分辨率。
有没有人有这方面的经验?
答案 0 :(得分:2)
管道(“|”)将一个命令的输出重定向到另一个命令的输入,因此echo get_video_state | echo get_resolution | nc -u -i 1 -w 5 192.168.xxx.xx 60000
不起作用,因为第一个回波的输出被重定向到第二个回波。您必须单独运行命令,然后将其输出重定向到netcat。你可以这样做:
(echo get_video_state & echo get_resolution) | nc -u -i 1 -w 5 192.168.xxx.xx 60000