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


Responder a