Как создавать пользователи начиная с файла текста в рукописном шрифте Bash?

Исходя из файла текста с данными о части пользователей, которые должны быть созданы посредством рукописного шрифта: какой метод вы использовали бы, чтобы перемещать каждую информацию каждого пользователя файла текста в переменную будучи контентом файла, который он продолжает?:

#Usuario; Contraseña; Grupo; Activo;
us01; abc01.; grupo01; s;
us02; abc01.; grupo01; S;
us03; abc01.; grupo02; n;
us04; abc01.; grupo02; N;

Рукописный шрифт, который я считаю созданным, до настоящего времени - тот, который появляется в коде далее, и часть, которую мне не удается кодировать, состоит в том, чтобы брать каждой линии текста конкретную информацию (пользователь, пароль, группа...) удаляя их";" и хранить это в переменной, чтобы так пользователь создает для каждой группы данных из-за линии (проблема показана в конце концов):

#!/bin/bash
#Script para crear usuarios a partir de los datos en un fichero de texto
#FUNCIONES---------------------------------------------------------
function crearusuario() #nombre=$1, pas=$2, group=$3, act=$4
{
#Miramos si el grupo existe. Si no existe lo creamos
if grep -q "$3" /etc/group  #existe, por lo que añadimos usuario
then
   useradd -mg "$3" "$1"       #creamos usuario añadiéndolo a grupo
   echo -e "$1:$2" | chpasswd  #creamos passwd a partir del parámetro
else  #no existe, por lo que lo creamos y añadimos usuario
   addgroup "$3"
   useradd -mg "$3" "$1"       #creamos usuario añadiéndolo a grupo
   echo -e "$1:$2" | chpasswd  #creamos passwd a partir del parámetro
fi
}

#PROGRAMA-----------------------------------------------------------
clear
#comprobamos que sea usuario root
if [[ $EUID -ne 0 ]]
then
echo -e "El usuario NO es root, por lo que no se permite ejecutar el script"
exit 1
fi

echo -e "Introduzca la ubicación del fichero:"
#bucle de admisión de input
A=0
while [ $A -eq 0 ];
do
read fichero
#comprobamos que el fichero introducido  existe y no está vacío
if [[ -s $fichero ]]
then
    A=1
else
    echo "ERROR: el fichero no existe o está vacío."
    echo "Introduzca de nuevo el nombre y ruta del fichero:\n"
fi
done
#Lectura del fichero línea a línea y asignación a variable
while read -a line
do
  encabezado=$(echo "${line[0]}" |grep "#")  #saltamos el encabezado
  if [ -z $encabezado ] 
  then
  #pasamos a las variables $usuario, $contra, $grupo y $activo los datos
   #EN ESTA PARTE NO SÉ CÓMO PROCEDER PARA QUITAR LOS ;
  usuario="${line[0]}"
  contra="${line[1]}"
  grupo="${line[2]}"
  activo="${line[3]}"
  #creamos el usuario
  crearusuario $usuario $contra $grupo $activo
  fi   
done < $fichero
8
задан 10.07.2017, 23:56
0 ответов