Piszę skrypt który by sprawdzał połaczenie z netem - jeśli jest to wówczas sprawdza pocztę gmail - a jeśli nie ma neta- to powinien w kółko (w pętli) sprawdzać co 10 sekund połączenie z netem tak długo, aż będzie internet i wówczas jeśli już bedzie internet to sprawdziłby pocztę. Problem jest jednak ze zrobieniem skutecznej pętli gdy nie ma połaczenia z netem. Skrypt roboczy:
#!/bin/bash
clear
WGET="/usr/bin/wget"
$WGET -q --tries=20 --timeout=10 http://www.google.com -O /tmp/google.idx &> /dev/null
function check_net
{
while [true]; do
while ! check; do sleep 10; done
echo sprawdz_poczte
done
}
if [! -s /tmp/google.idx]; then
echo "net Offline.. czekam 10 sekund i sprawdzam ponownie..."
check_net
else
echo "net Online"
fi
na razie jak widać w tej wersji roboczej nie dałem funkcji sprawdzania poczty, dopóki nie zadziała prawidłowo funkcja sprawdzania połaczenia z netem. Jak to naprawić?
#!/bin/bash
x=0
#clear
function check_mail
{
#clear
echo ONLINEmail
}
function check_net() {
#clear
echo wait_test_net...
wget -q --timeout=3 http://google.pl -O $HOME/Pulpit/wynik.idx
if [[-z "`cat $HOME/Pulpit/wynik.idx`"]]
then
echo nie_ma_neta
return 0 #nie ma neta
else
check_mail
x=1
fi
}
check_net
while [[$x -lt 1]] ; do
check_net
done
rm -rf $HOME/Pulpit/wynik.idx
w terminalu działa jak należy, ale docelowo chciałem go dodać do appletu MATE dodaj do panelu > komenda. Tutaj jednak bywają problemy, robi dziwne “krzaki” tam gdzie polecenie clear i nie do końca działa jak należy, ale sam skrypt działa jak trzeba.