Error que no veo.(BASH SCRIPT)

Buenas estoy haciendo una función para que me cree usuarios automaticamente de un fichero. No obstanet, no tira. y no entiendo el porque. Hay alquien que lo pueda ver, y orientarme?

creausuario (){
echo "Nombre del fichero a crear usuarios?"
read FITXER



# Comprovacions
if [ −e $FITXER ]
then
   
   
   for linia in $FITXER; do
   echo $linia
   USUARI=$(echo "$linia" | cut −f1 −d",")
   GRUP=$(echo "$linia" | cut −f2 −d",")
   HOME=$(echo "$linia" | cut −f3 −d",")
   PASSWD=$(echo "$linia" | cut −f4 −d",")
   echo "Creando el usuario $USUARI..."
   /usr/sbin/useradd −m −g -d $GRUP $USUARI $HOME
   echo missatge"Asignando password a $USUARI..."
   echo "$USUARI:$PASSWD" | chpasswd
   exit 0
   done
   else
   echo "El fichero no existe, especifica correctamente el nombre"
   return 1
   
fi


UN saludo
Qué es lo que no funciona?

Me da la impresión que no llega a pedirte el fichero. Mira esa función.

En bash no he llegado a programar casi nada, pero últimamente me toca bregar de vez en cuando con ksh, y supongo que no difiere mucho eso

#Función
function lalala
{
echo "Mira mi función que útil"
}

#main
while(1); do
lalala
done
la funcion:
function nombre_de_funcion(){
comandos_del_shell
}

Luego sintaxis

if [ −e $FITXER ];
then

y tal ve deberia de ser
done
exit 0
y no
exit 0
done

Tambien creo que te falta un espacio en los cuts -d"," no se si eso afectaria
por cierto ¿que estas en asir 2?

Porque si quieres que lo haga varias veces pero en la primera linea ya le mandas salir..
porque el exit 0 basicamente le dice que salga de la funcion no?(nunca o casi nunca uso exit y return, soy de hacer casi todo a pelo con poquitas funcoines :-| )
2 respuestas