LINUX.ORG.RU

Захват многострочного вывода команды в переменную на примере tcpdump

 , ,


0

3

Сабж, не получается сохранить выхлоп tcpdump в переменную.

Я так понимаю, получается что она перезаписывается каждой новой строкой tcpdump.

Как-то я делал многострочную переменную такой конструкцией:

var="$(cat <<EOF
1
2
3
EOF
)"
но тут это не сработало, получилось записать в переменную, но только в строку, перенос строки убивается:
rawDump="$(timeout 10 tcpdump -tttt -nn -i any 2>&1)"
#
# или
#
rawDump="$(timeout 10 tcpdump -tttt -nn -i any | while read line; do echo ${line}; done)"
#
# ну и потом вывод её для парсинга/etc:
#
echo ${rawDump} |  wc -l

GNU bash, version 4.3.11(1)-release (x86_64-pc-linux-gnu)

PS можете накидать разных вариантов, как это решить.



Последнее исправление: NeSmogVBash (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.