REGEX: сбросить несколько связанных цепочек в iptables

Кажется, вам нужны именованные каналы:

https://askubuntu.com/questions/449132/why-use-a-named-pipe-instead-of-a-file

По сути, вы создаете именованный канал, запускаете процесс, который получает входные данные из именованного канала, а затем передаете все, что вы хотите, В именованный канал, чтобы процесс обработал его.

Например:

mkfifo /tmp/namedpipe
tail -f /tmp/namedpipe &
echo "BOO"> /tmp/namedpipe
echo "this" > /tmp/namedpipe

... Это выведет (по хвосту )на стандартный вывод всего, что отправляется в /tmp/namedpipe.

Я использую tail вместо cat, потому что cat завершит процесс, когда получит EOF.

ОБНОВЛЕНИЕ. Уточнение.

Чтобы передать это вашему процессу, вам нужно сделать что-то вроде этого:

tail -f /tmp/namedpipe | yourprocess &

УП2. Итак, в вашем случае последовательность будет такой:

mkfifo /tmp/namedpipe 

---это будет точка входа, через которую вы сможете отправлять данные в ваш процесс.

tail -f /tmp/namedpipe |  /usr/lib/w3m/w3mimgdisplay &

--это затем создаст постоянный процесс, который вы хотите, и в будущем будет передавать ему все, что вы отправляете через канал.

echo -e '0;1;0;0;0;0;0;0;0;0;file.png\n4;\n3;' > /tmp/namedpipe

Должно показать изображение на экране.

Отныне все, что вы будете отправлять в /tmp/namedpipe, будет похоже на новые строки, отраженные в команде, и также должны появиться на экране.

0
25.06.2019, 16:20
1 ответ

Я могу получить такие уникальные имена цепочек:

sudo /sbin/iptables -S | grep -P '\-A f2b-.*' | cut -d ' ' -f 2 | sort -u

Как их удалить, не создавая цикл?

[Ответить #1] Удалить все цепочки f2b

/sbin/iptables -S | grep -P '\-A f2b-.*' | cut -d ' ' -f 2 | sort -u | awk '{print "/sbin/iptables -F "$1";"}' #| /bin/sh

[Ответить #2] Удалить все правила f2b

/sbin/iptables -S | grep -P '\-A INPUT.*f2b-.*' | sed 's/^-A //' | awk '{print "/sbin/iptables -D "$0";"}' #| /bin/sh

Примечание. :Раскомментируйте #, когда будете готовы.

0
28.01.2020, 03:31

Теги

Похожие вопросы