如何通过脚本将变量传递给终端命令行并确保它不包含转义字符串?

问题描述 投票:0回答:1

我是Ruby的新手,也是与终端相关的大多数事情。我试图创建一个脚本,从Wireshark跟踪文件返回有关RTP流的信息。我正在以一种只创建一个只包含与SSRC匹配的数据包的新跟踪文件的方式实现它。问题是当我在命令中传递SSRC变量时脚本将执行我得到一个错误,说在第1行没有找到命令“-w”。

我不太清楚究竟是什么原因造成了一条新线出现,所以我很难真正尝试任何东西。我试图做一些|的变种sed's ///'但我尝试的任何东西似乎都没有用。

我的Ruby代码;

stream = "0xb6143376"

`tshark -r #{file_name}.pcapng -d udp.port==#{src_port},rtp -2 -R 
rtp.ssrc == #{stream} -w #{file_name}_stream1.pcapng`

终端输出;

tshark: Syntax error.
sh: line 1: -w: command not found

所以我希望脚本完成,最后我会有一个新的跟踪文件,只有匹配0xb6143376 SSRC的数据包。我得到的是在-w之前的新线

ruby terminal sh tshark escapestring
1个回答
0
投票
stream = stream.chomp

解决了我的问题

© www.soinside.com 2019 - 2024. All rights reserved.