Скрипт для проверки наличия отсутствия default route

Этот чертов wimax периодически теряет где-то дефолтный роутер, и я хочу подвесить какой-нибудь простенький скрипт для проверки ситуации - есть он или нет, и если нет, то поднять его на место.
По старой памяти получилось вот такое, но не работает.
Чувствую, что что-то не так, но в bash, к сожалению, не разбираюсь.

if ( sudo /sbin/route | /bin/grep wimax0 | /bin/grep default );
then
sudo /sbin/route add default wimax0
fi

Подскажите, если кто знает. Постоянно передергивать dhcpcd, думаю, как-то уж слишком радикально.

Not?

В баш тоже не силен, но как я понимаю строка sudo /sbin/route add default wimax0 срабатывает только тогда, когда есть роут по умолчанию. Выходит надо сделать if not( sudo /sbin/route | /bin/grep wimax0 | /bin/grep default );

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
root@Antarctic $ emerge -av penguins

Чего-то не то

Чего-то не то

if /usr/bin/sudo /sbin/route

#!/bin/bash

if /usr/bin/sudo /sbin/route -n|/bin/grep wimax0|/bin/grep "^0\.0\.0\.0" &> /dev/null
  then
    /usr/bin/sudo /sbin/route add default gw IP.адрес.вашего.шлюза wimax0
fi

Этот добавляет второй

Этот добавляет второй default, а вот на его отсутствие не реагирует.

software watchdog это называется

запихать в cron что то типа этого
!!!untested!!!

#!/bin/sh
GW=ip вашего шлюза
if /sbin/ip r | /bin/grep def &> /dev/null; then :;else /sbin/ip r add default via $GW dev wimax0; fi

P.S. лучше для таких дел пользоваться sys-apps/iproute2 ^
P.P.S. по вкусу добавить /usr/bin/sudo

Вроде работает, по крайней

Вроде работает, по крайней мере вручную сработало. Спасибо!

Конечно, не реагирует :) Вот

Конечно, не реагирует :) Вот так будет верно :)

#!/bin/bash

if ! /usr/bin/sudo /sbin/route -n|/bin/grep wimax0|/bin/grep "^0\.0\.0\.0" &> /dev/null
  then
    /usr/bin/sudo /sbin/route add default gw IP.адрес.вашего.шлюза wimax0
fi

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".