for usuario in $(EN)
|
do
if who|grep $usuario >/dev/null 2>&1
then
echo $usuario conectado
else
echo $usuario NO conectado
fi
done
|
Este ejercicio es una generalización del anterior. Aquí podemos observar una forma de ampliar un script usando la variable $(EN) que contiene la lista de argumentos.
Ahora queremos comprobar que el usuario realmente existe:
for usuario in $(EN)
|
do
if getent passwd| grep $usuario >/dev/null 2>&1
if who|grep $usuario >/dev/null 2>&1
then
echo $usuario conectado
else
echo $usuario NO conectado
fi
done
|
Sólo queda por mencionar que hemos redirigido las salida estándar y de errores a /dev/null, primero redirigimos la salida estándar (>/dev/null) y luego redirigimos la salida de errores a la salida estándar (2>&1).
Si la búsqueda sólo nos interesa sobre /etc/passwd la condición quedaría como:
if grep ^$usuario /etc/passwd >/dev/null 2>&1