Назад | Перейти на главную страницу

Выполнение действий iproute2 на основе критериев соответствия

Есть ли способ использовать подстановочный знак или другие критерии соответствия при использовании iproute2? У меня есть несколько туннельных интерфейсов, которые следуют соглашению об именах. Что-то вроде IP туннель дель бла- * (что дает ошибку: ioctl: такого устройства нет) было бы здорово, не прибегая к созданию собственных скриптов.

Синтаксис довольно ясен из того, что я могу сказать:

Usage: ip tunnel { add | change | del | show | prl } [ NAME ]
          [ mode { ipip | gre | sit | isatap } ] [ remote ADDR ] [ local ADDR ]
          [ [i|o]seq ] [ [i|o]key KEY ] [ [i|o]csum ]
          [ prl-default ADDR ] [ prl-nodefault ADDR ] [ prl-delete ADDR ]
          [ ttl TTL ] [ tos TOS ] [ [no]pmtudisc ] [ dev PHYS_DEV ]

Where: NAME := STRING
       ADDR := { IP_ADDRESS | any }
       TOS  := { NUMBER | inherit }
       TTL  := { 1..255 | inherit }
       KEY  := { DOTTED_QUAD | NUMBER }

NAME должно быть STRING, поэтому это не может быть подстановочный знак. Я знаю, что вы надеялись избежать этого, но лучше всего было бы написать оболочку оболочки, которая будет делать что-то вроде этого:

#! /bin/bash
PATTERN="$1"
for t in $(ip tunnel show | awk -F: '{print $1}' | grep -E "$PATTERN"); do
    ip tunnel del $t
done

Затем просто вызовите свой скрипт следующим образом: deltunnels.sh "^blah-*"

Я думаю, это должно сработать.