#!/bin/bash
# obtiene los usuarios con id igual o superior a 500
usuarios=`cut -d: -f 1,3,6 /etc/passwd | awk -F: '{if($2>=500) print $1}'`
# obtenemos la hora
hora=`date +%H`
# recorremos todos los usuarios
for usuario in $usuarios
do
if [ $hora -ge 5 -a $hora -lt 13 ];then
echo "Buenos dias $usuario"
elif [ $hora -ge 13 -a $hora -lt 20 ];then
echo "Buenas tardes $usuario"
elif [ $hora -ge 20 -o $hora -lt 5 ];then
echo "Buenas noches $usuario"
fi
done
hora='date +H'
if [ $hora -ge 5 -a $hora -lt 13 ] ;then
echo "Buenos dias "
elif [ $hora -ge 13 -a $hora -lt 20 ] ;then
echo "Buenas tardes "
elif [ $hora -ge 20 -a $hora -lt 5 ] ;then
echo "Buenas noches "
fi
exit
#!/bin/sh
if test $# -ne 0
then
echo "El número de parámetros es incorrecto"
echo "USO: Saludo"
exit -1
else
#Obtenemos la hora (sirve para determinar la franja horaria)
hora=$(uptime | cut -d : -f 1)
#Ahora imprimimos el mensaje en función de la hora
if test "$hora" -ge 5 -a $hora -lt 13
then
echo "Buenos días $USER"
exit 0
elif test "$hora" -ge 13 -a $hora -lt 20
then
echo "Buenas tardes $USER"
exit 0
elif test "$hora" -ge 20 -a $hora -lt 24
then
echo "Buenas noches $USER"
exit 0
elif test "$hora" -ge 0 -a $hora -lt 5
then
echo "Buenas noches $USER"
exit 0
fi
fi