Aqui anexo el scripts completo para la creacion de nuevos usuarios con sus respectivos password tomandolos de un achivo de texto en una sola columna.
Por ejemplo:
Domingo
Varela
Juan
Perez
Cuyo resultado sera: dvarela, jperez
Solucion para la opcion A
—————————————
#!/bin/sh # # Script para agregar usuarios de sistema y/o de e-mail # Date: 18/abr/08 # Lic. Domingo Varela Y. # Probe: True # ID=3000 # Comprobamos de que hemos recibido al menos un argumento if [ $# -ne 1 ] then echo "Debe introducir el nombre del archivo con los nombres de los usuarios." exit 1 fi # Comprobamos de que el argumento recibido corresponde a un archivo if [ ! -f $1 ] then echo "El archivo $1 no existe o no es un archivo regular." exit 2 fi while read nombre # leemos el nombre de stdin do # conversion a minusculas del nombre, eliminacion de las tildes y ñ's y # nos quedamos con la primera letra. name=`echo $nombre | tr [:upper:] [:lower:] | tr [áéíóúñ] [aeioun] | colrm 2` read apellido # lectura del apellido de stdin # Conversion a minusculas del primer apellido y eliminacion de # tildes y ñ's apdo=`echo $apellido | tr [:upper:] [:lower:] | tr [áéíóúñ] [aeioun] | cut -d ' ' -f1` # Concatenación de $nome y $apdo user=$name$apdo # Creación del grupo del usuario groupadd -g $ID $user echo "Creado el grupo $user, GID $ID" # Creación del usuario useradd -d /home/$user -g $user -m -k /etc/skel -c "$nombre $apellido" -u $ID $user echo "Se ha creado el usuario $user, UID $ID" echo # asignar contraseña al usuario echo "$user:$user" | chpasswd # incrementamos el ID let "ID=$ID+1" done < usuarios.txt # redireccionamos el archivo a la entrada estandar del ciclo while exit 0