On Wed, 2004-07-28 at 17:42, Carlos Iriondo wrote: > Pero no funciona porque no reconoce el espacio en blanco del nombre > completo del usuario y me trunca y desacomoda el resto de los datos.
El script que estás usando como base para tus modificaciones deja bastante qué desear. Procura no aprender mucho de ese código. > Alguien tiene alguna sugerencia de cómo lo puedo hacer? ------------------------------------------------------------------------ #! /bin/bash while IFS=: read -r -a datos do # Estas asignaciones son innecesarias. Se hacen por legibilidad. usuario="${datos[0]}" nombre="${datos[1]}" grupo="${datos[2]}" home="${datos[3]}" # Hacer algo con los datos aquí. # En tu caso, probablemente será algo como # # useradd -g "$grupo" -d "$home" -m -c "$nombre" -s /bin/false\ # "$usuario" # # Ojo, cuida las comillas, y verifica el error al retorno de # useradd! # # Unos echos, por mientras. echo "Usuario: [$usuario]" echo "Nombre: [$nombre]" echo "Grupo: [$grupo]" echo "Home: [$home]" done ------------------------------------------------------------------------ Este script muy probablemente requiere bash(1), no cualquier sh. Pero estamos en debian-user-spanish, asi que eso no debería ser un problema... Úsalo redirigiendo la entrada desde tu archivo, e.g. script.sh < /tmp/usuarios.dat Tomar el nombre del archivo como parámetro es trivial, claro, pero así es un poco más simple, y quizá hasta más flexible (puedes teclear los datos de entrada, o pipearlos desde un sed(1), por ejemplo). > Saludos cordiales, Iguanas. -CR