在shell脚本中的tshark过滤器中使用变量
我正在尝试编写一个在pcap文件上应用tshark过滤器的shell脚本。过滤器是一个带有'/'字符的变量。在shell脚本中的tshark过滤器中使用变量
我有类似
tshark -r $file -Y "frame contains $PATTERN"
它没有 '/' 的过滤器的工作原理。但是一旦$PATTERN
包含'/',就会出现错误tshark: '/' is unexpected
。
如何编写脚本,使变量PATTERN
可以包含特殊字符?
尝试引用了PATTERN
,例如:
tshark -r $file -Y 'frame contains "$PATTERN"'
在Windows中,你可以使用:
tshark.exe -r $file -Y "frame contains \"$PATTERN\""
我最初尝试过,并且该命令没有返回任何内容。那是当我尝试''框架包含$ PATTERN“'这给了我匹配'PATTERN'没有'/'。 – Rayne
似乎你必须从脚本中逃脱双引号: PATTERN = text/html tshark -r $ file -Y“frame contains \”$ PATTERN \“” –
你能提供样品过滤器,其中包括一个斜杠?你确定导致问题的过滤器是有效的吗?我发现有一些有效的过滤器选项包含一个斜杠(例如这里的第二个示例:https://wiki.wireshark.org/DisplayFilters),所以过滤器可能无效,错误还有改进空间吗? –
该过滤器是一个URL,例如www.foo.com/bar – Rayne