Nedavno sme robili v skole cosi podobne, ale v zadani bolo, aby pri prihlaseni usera poslalo mail na zadanu adresu, a mali tam byt aj nejake parametre.
Kód: Vybrať všetko
#!/bin/bash
while getopts ":m:bt:u:" optname
do
case "$optname" in
"u")
if [ -z "$OPTARG" ]
then
echo "Zadaj meno usera!"
exit
else
USER="$OPTARG"
fi
;;
"m")
if [ -z "$OPTARG" ]
then
echo "Zadaj mailovu adresu!"
exit
else
MAIL="$OPTARG"
fi
;;
"b")
BEEP=true
;;
"t")
if [ "$OPTARG" -gt 0 ]
then
TIME="$OPTARG"
else
echo "Chybny casovy interval!"
exit
fi
;;
"?")
echo "Neznamy parameter"
;;
*)
echo "Chyba parametrov"
esac
done
if [ "$TIME" = "" ] || [ "$MAIL" = "" ] || [ "$USER" = "" ]
then
echo "Pouzitie: mail -b -t 10 -u user -m [email protected]"
else
while :;
do
users=$(who | awk '{print $1}')
for usr in $users
do
if [ "$usr" = "$USER" ]
then
if [ "$BEEP" = "true" ]
then
echo -en "\007"
fi
# je prihlaseny
mail -s "$USER sa prihlasil" [email protected] < ./mail2 &
fi
done
sleep $TIME
done
fi
Zadanie bolo taketo:
beží na pozadí a kontroluje, či je prihlásený určený užívateľ. Ak áno, buď pošle mail s oznamom, (-m adresa), pripadne zapípa (-b), pričom interval medzi kontrolami je možné zadať (-t interval v sekundách)
Obsah mailu ma byt v subore mail2. Mozno ten skript nie je celkom dobre, ale ked som ho zhotovil, tak fungoval. Mozno ti to nejako pomoze
