Escribir un programa saludo que, según la hora, escriba el saludo correspondiente al nombre de pila del usuario. En el archivo /etc/passwd los usuarios deben estar ingresados con nombre y apellido separados por blanco. Los saludos corresponden a las siguientes horas: Buenos días, de 05:00 hasta 12:59; Buenas tardes, de 13:00 hasta 19:59; Buenas noches 20:00 hasta 04:59. Ejemplo de mensaje: Buenos días, Juan.
A efectos de pruebas, se recibirán la hora y el nombre de login como parámetros, dejando comentados los comandos donde se extrae la hora real y se toma el usuario real.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
#!/bin/bash # saludo.cmd # script en UNIX que saludo al usuario por su nombre NOMBRE=`cat /etc/passwd | grep "^$LOGNAME" | \ cut -d: -f5 | cut -d' ' -f1` # si el usuario no tiene ingresado un nombre, toma "Nadie" NOMBRE=${NOMBRE:-Nadie} HORA=`date | cut -c12-13 | tr -d ' '` if expr "$HORA" \<= 5 > /dev/null then echo 'Buenas noches, '$NOMBRE elif expr "$HORA" \<= 12 > /dev/null then echo 'Buenos dias, '$NOMBRE elif expr "$HORA" \<= 19 > /dev/null then echo 'Buenas tardes, '$NOMBRE elif expr "$HORA" \<= 24 > /dev/null then echo 'Buenas noches, '$NOMBRE fi |