我正在尝试编写一个简单的bash文件,能够捕获看起来像这样的Wi-Fi流量:
STRING1="tshark -i 2 -a duration:5 -w <path of output.pcap>"
$STRING1
echo "'Wi-Fi' captured"
STRING2="tshark -r <path of output.pcap> -T fields -e frame.number -E header=y > <path of output.csv>"
echo $STRING2
$STRING2
正确处理第一个命令STRING1并创建output.pcap。当STRING2启动时,我收到错误tshark: Syntax error.
。但是如果我只是在终端中复制并粘贴STRING2命令一切正常。
我在这里缺少什么?
答案 0 :(得分:1)
在单词扩展之前解析Shell语法(重定向运算符,管道等),因此输出重定向作为参数传递给tshark
。
STRING2="tshark -r <path of output.pcap> -T fields -e frame.number -E header=y"
echo $STRING2
$STRING2 > <path of output.csv>