Mam skrypt sprawdzający pocztę w gmail, działa to jednak jednorazowo, a chcę aby działał on w pętli czasowej (np. co 300 sekund), tzn po wykonaniu skryptu powracał na jego poczatek i tak w kółko, bez jego zakończenia. Kod:
Po chwili kombinowania skrypt prezentuje się następująco:
#!/bin/bash
ver=`lsb_release -sir`
login="login" #nickname
pass="haslo" #password
#title=`curl -u $login:$pass --silent "https://mail.google.com/mail/feed/atom" | grep -oPm1 "(?<=<title>)[^<]+" | sed '1d'`
numero="$(wget --secure-protocol=TLSv1 --timeout=3 -t 1 -q -O - \
https://${login}:${pass}@mail.google.com/mail/feed/atom \
--no-check-certificate | grep 'fullcount' \
| sed -e 's/.*<fullcount>//;s/<\/fullcount>.*//' 2>/dev/null)"
while ["$ver" = "Arch rolling"] ; do
if [-z "$numero"]; then
notify-send "Connect error!" "Brak połączenia z siecią lub inny błąd!"
elif [$numero = 0]; then
echo "Gmail $numero" > /dev/null
elif [$numero = 1]; then
notify-send "Masz $numero nową widomość:" "$title"
elif [$numero = 2] || [$numero = 3] || [$numero = 4]; then
notify-send "Nowa poczta" "Masz $numero nowe wiadomości"
else
notify-send "Nowa poczta" "Masz $numero nowych wiadomości"
fi
sleep 300
done
Warunek sprawdzający wersje (lsb_release -sir) nie jest tu do niczego potrzebny, ale coś musiałem wstawić, aby w argumencie nie było zapzreczenia, żeby nie przerwać pętli, aby cały czas ona trwała. Chyba że macie inny, konkretniejszy pomysł na to?