Как передать переменную через скрипт в командную строку терминала и убедиться, что она не содержит escape-строк?

Я новичок в Ruby и большинство вещей, связанных с терминалом. Я пытаюсь создать скрипт, который бы возвращал информацию о потоках RTP из файла трассировки Wireshark. Я реализую его так, чтобы просто создать новый файл трассировки только с пакетами, которые соответствуют 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

1 ответ

stream = stream.chomp

исправил мою проблему

Другие вопросы по тегам