Foros del Web » Administración de Sistemas » Unix / Linux »

Ayuda ejercicio usuarios uid mayor parametro

Estas en el tema de Ayuda ejercicio usuarios uid mayor parametro en el foro de Unix / Linux en Foros del Web. Tengo un problema con el siguiente ejercicio: Mostrar los usuarios que su uid sea mayor o igual que una pasada como parámetro, mostrar también directorio ...
  #1 (permalink)  
Antiguo 01/02/2010, 11:24
 
Fecha de Ingreso: diciembre-2006
Mensajes: 11
Antigüedad: 18 años
Puntos: 0
Ayuda ejercicio usuarios uid mayor parametro

Tengo un problema con el siguiente ejercicio:
Mostrar los usuarios que su uid sea mayor o igual que una pasada como parámetro, mostrar también directorio trabajo.

valor=$1
EXISTE=`cat /etc/passwd | grep "$valor"`
if [ ! $EXISTE ]

then
echo "La UID $valor no existe."
exit
fi

id $valor 1>/dev/null 2>&1
UID=`echo $EXISTE | cut -d: -f3`
NOMBRE=`id $valor | cut -f1 -d" "`
echo nombre: $NOMBRE
ls -lR $UID 2>/dev/null | grep '^d'
exit

Esto es lo que he conseguido sacar pero no funciona y no se que es lo que falla. Si alguien me pudiera ayudar se lo agradecería.

Gracias de antemano.

Saludos.
  #2 (permalink)  
Antiguo 02/02/2010, 08:38
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda ejercicio usuarios uid mayor parametro

- no sé por qué rediriges la salida de id a null, ¿para qué ejecutas el comando entonces?
- el comando ID puede indicarte si el usuario no existe
- ls no te dará el directorio que corresponde al usuario, eso estará en la línea correspondiente de /etc/passwd. Si quieres el directorio de trabajo actual, usa pwd

La forma de hacerlo es la siguiente: circulas por las líneas de /etc/passwd, y comparas el campo ID de la línea con el que tienes. Si el de la línea es mayor, imprimes el nombre de usuario.

Busca información sobre "while read"


Saludos.

Etiquetas: mayor, uid, usuarios, parámetros
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:26.