Gracias por tu respuesta. Tal y como yo lo quería hacer no me sirve el bucle ya que ahí fuerzo a que se introduzca algo. Este script muestra informacíon acerca de un usuario si existe.
Script terminado:
#!/bin/bash
function nfo {
echo "Login: $log"
echo "Nombre: `cat /etc/passwd | cut -d , -f 1 |grep $log | cut -d : -f 5`"
echo "Directorio home: `cat /etc/passwd | grep $log | cut -d : -f 6`"
echo "Shell: `cat /etc/passwd | grep $log | cut -d : -f 7`"
if [ `finger $log | grep On | wc -l` -ge 1 ]
then
echo "Conectado: Si"
else
echo "Conectado: No"
fi
}
function procesos {
echo -e "PID PROCESO\n"
echo "`ps aux | tr -s " " | grep $log | cut -d " " -f 1,2,11 | grep $log | cut -d " " -f 2,3`"
}
function opciones {
ca="-p"
ca2="-u"
ca3="-help"
if [ ! $option ]
then
nfo $log
procesos $log
exit 0
elif [ \( $option == $ca \) -o \( $option == $ca2 \) -o \( $option == $ca3 \) ]
then
case "$option" in
-p)
procesos $log
exit 0
;;
-u)
nfo $log
exit 0
;;
-help)
echo -e "Usa -u para obtener información del usuario\n -p para información de los procesos\n o nada para mostrar ambas cosas"
;;
esac
else
echo "Opción Inválida"
exit 1
fi
}
if [ -z $1 ]
then
echo "Haz la llamada con algún usuario"
exit 2
elif [ `cat /etc/passwd |grep $1 |wc -l` -ge 1 ]
then
log=$1
read option
opciones
else
echo "Usuario inexistente"
exit 2
fi