Ребят подскажите пжл.
Команда ip route | grep default выводит, в зависимости от текущего шлюза по умолчанию, такие строки:
default dev dsl0 scope link
default via 111.111.111.111 dev eth1
Для передегивания скрипта фаервола, нужно из этих строк доставать имя интерфейса шлюза по умолчанию, т.е. то что идет после dev.
Позиции разные черт возьми.
| sed '/default dev/!d;s/^.*dev //;s/ scope.*$//'
> | sed '/default dev/!d;s/^.*dev //;s/ scope.*$//'Это удивительно работает для
default dev dsl0 scope link
Но не работает для строки:
default via 111.111.111.111 dev eth1
Тут пустая строка выходит.
>> | sed '/default dev/!d;s/^.*dev //;s/ scope.*$//'
> Это удивительно работает для
> default dev dsl0 scope link
> Но не работает для строки:
> default via 111.111.111.111 dev eth1
> Тут пустая строка выходит.Я так понял нужно иправить на :
ip route | grep default | sed '/dev/!d;s/^.*dev //;s/ scope.*$//'
?
Вы правильно поняли. А я не понял суть задачи. Может это| grep -o 'eth1\|dsl0'
поможет?
> Вы правильно поняли. А я не понял суть задачи. Может это
> | grep -o 'eth1\|dsl0'
> поможет?Ну да, тоже работает.
Спасибо за помощь!
Могу Ваши ответиты "применить" к Ману, но наоборот не получается.
> Могу Ваши ответить "применить" к Ману, но наоборот не получается.Что?
>> Могу Ваши ответить "применить" к Ману, но наоборот не получается.
> Что?Говорю, легко понять почему так работает, когда дан ответ. И сложно его найти оперируя лишь маном.
> легко понять почему так работает, когда дан ответ. И сложно его
> найти оперируя лишь маном.Да, согласен.