написал скрипт:
#! /bin/bash
rezult=`ping -q -c 5 -I eth2 172.21.1.2 | grep '100%' | wc -l`
if rezult=1; then
route del default
route add default gw 172.20.1.1
else
if rezult=0; then
route del default
route add default gw 172.21.1.1
fi
fi
но почему то не работает, в частности когда rezult=0, хотя если проганть команды просто одну за другой, то выполняются корректно.
Подскажите, что я делаю не так?
>написал скрипт:
>#! /bin/bash
>rezult=`ping -q -c 5 -I eth2 172.21.1.2 | grep '100%' | wc
>-l`
>if rezult=1; then
> route del default
> route add default gw 172.20.1.1
>else
>if rezult=0; then
> route del default
> route add default gw 172.21.1.1
>fi
>fi
>но почему то не работает, в частности когда rezult=0, хотя если проганть
>команды просто одну за другой, то выполняются корректно.
>Подскажите, что я делаю не так?if [ result -eq 1 ]; then
читайте доки, они рулез
не говоря уж о том, что лучше сделать
if ping -q -c 5 -I eth2 172.21.1.2; then
route del default
route add default gw 172.20.1.1
else
route del default
route add default gw 172.21.1.1
fi
>не говоря уж о том, что лучше сделать
>if ping -q -c 5 -I eth2 172.21.1.2; then
> route del default
> route add default gw 172.20.1.1
>else
> route del default
> route add default gw 172.21.1.1
>fiспасибо
>не говоря уж о том, что лучше сделать
>if ping -q -c 5 -I eth2 172.21.1.2; then
> route del default
> route add default gw 172.20.1.1
>else
> route del default
> route add default gw 172.21.1.1
>fiа разве это равно grep 100%???
>>не говоря уж о том, что лучше сделать
>>if ping -q -c 5 -I eth2 172.21.1.2; then
>> route del default
>> route add default gw 172.20.1.1
>>else
>> route del default
>> route add default gw 172.21.1.1
>>fi
>
>а разве это равно grep 100%???Нет, не равно. Это просто обрабатывает код возврата ping - если 0, то все в прорядке.
Ну, а если необходимо контроллировать именно 100%-й пинг, то
if ping -q -c 5 -I eth2 172.21.1.2 | grep -q '100%'; then
>if [ result -eq 1 ]; then
>
>читайте доки, они рулезугу
if [ $result -eq 1]; then