Fórum Ubuntu CZ/SK

Ostatní => Tipy a triky pro Linux => Téma založeno: Petr R. 31 Října 2010, 08:27:41

Název: Opakované upozorňování na událost (skript v shellu)
Přispěvatel: Petr R. 31 Října 2010, 08:27:41
Nedávno jsem si dělal skript, který upozorňuje na událost, na kterou bych nerad zapomenul (vysypání odpadků) v oznamovací oblasti a říkám si, že by se to někomu mohlo hodit...
Upozornění: Musí být nainstalován balíček libnotify-bin.
Instalační postup zde:
1. Vytvořit si někde soubor s tímto kódem:
Kód: [Vybrat]
#!/bin/bash
soubor=`cat /tmp/popelnice.pid`;

if ((soubor)); then
rm /tmp/popelnice.pid
zenity --info --title="Ok" --text="Upozorňování bylo zrušeno."
else
echo 1 > /tmp/popelnice.pid
tyden=`date '+%W'`;
lichy=$((tyden%2));
den=`date '+%w'`;
if ((!lichy && den==3)); then
while ((1)); do
soubor=`cat /tmp/popelnice.pid`;
if ((soubor)); then
notify-send --icon system-log-out "Bacha! " "Vyndat popelnice! "
else
exit
fi
sleep 45
done
else
rm /tmp/popelnice.pid
fi
fi
2. Přidat tomuto souboru spustitelný příznak (http://wiki.ubuntu.cz/Spustiteln%C3%BD%20p%C5%99%C3%ADznak).
3. Přidat tento soubor do aplikací spuštěných na začátku sezení.
4. (lze vynechat) vytvořit si na skript spouštěč.
5. Změnit si text upozornění (řádek notify-send --icon system-log-out "Bacha! " "Vyndat popelnice! ").
6. Změnit si podmínku (if ((!lichy && den==3)); then znamená každou středu v lichém týdnu).
7. Změnit si interval hlášek (sleep 45 znamená každých 45 sekund).

Kód by měl fungovat tak, že při prvním spuštění (přihlášení) zjistí jestli platí podmínka (je středa a lichý týden), a pokud ano, začne upozorňovat až do jeho druhého spuštění (třeba přes spouštěč).

Tak snad se to bude někomu hodit.