Google
Web dns.bdat.net

Guion que diga qué usuarios de la lista que pasamos como argumento están o no conectados.

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