#!/bin/bash isAlive() { for i in $*; do printf "GET /\n\n" | nc $i 80 > /dev/null 2>&1 && return 0 done return 1 } gwAuxInUse=false while : ; do isAlive $* alive=$? if [ $alive -eq 0 ] && $gwAuxInUse; then ip rule del prio 200 table adsl ip rule add prio 200 table redUnc gwAuxInUse=false elif [ $alive -eq 1 ] && ! $gwAuxInUse ; then ip rule del prio 200 table redUnc ip rule add prio 200 table adsl gwAuxInUse=true fi sleep 10 done