Задать вопрос
@martensit

Где ошибка в проверке заканчивается ли строка подстрокой?

# Сначала получим все правила маршрутизации
rules=$(ip rule show)
# Пройдемся по каждому правилу
while IFS= read -r rule; do
  # Проверим
  if [[ $rule == *$1 ]]; then
    # Извлечем IP-адрес из правила
    ip=$(echo $rule | grep -oE '[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+')
    # Извлечем lookup table из правила
    table=$(echo $rule | grep -oE 'lookup [a-zA-Z0-9]+' | awk '{print $2}')
    # Удалим правило
    echo "Deleting rule: from $ip lookup $table"
    sudo ip rule del from $ip lookup $table
  fi
done <<< "$rules"


$rule == *$1*
работает, но означает включение субстроки а не окончание субстрокой
$rule == *$1
не работает. Как правильно сделать в этом случае?
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой 8 комментариев
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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