Bonjour !
J'ai un petit problème avec un script que j'ai fait qui permet la création d'utilisateur à partir de données présentes dans un fichier texte.
Je m'explique, voilà la partie de mon script qui récupère les différentes données du fichier :
$1 est le nom du fichier passé en paramètre.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 u=$(cat -b $1 | grep $cpt | awk '{ print $4 }'); echo "utilisateur " $u nom=$(cat -b $1 | grep $cpt | awk '{ print $2 }'); echo "nom " $nom prenom=$(cat -b $1 | grep $cpt | awk '{ print $3 }'); echo "prenom " $prenom mot=$(cat -b $1 | grep $cpt | mawk '{ print $5 }'); echo "mdp " $mot
$cpt est un compteur qui permet de se déplacer ligne par ligne dans le fichier.
Le fichier texte est de cette forme :
Le mot de passe est un nombre à 7 caractères, et c'est ça justement qui ne va pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 nom1 prenom1 login1 mdp1 nom2 prenom2 login2 mdp2 nom3 prenom3 login3 mdp3 ...
Quand j'exécute mon script je me rend compte que les variable ne contiennent pas du tout ce que je voudrais.
ça donne un truc du genre :
En mettant des chaines de caractères comme mot de passe (et pas des chiffres) ça fonctionne très bien, pour chaque ligne (à chaque exécution de ma bouche while), on récupère bien les renseignement de l'utilisateur de la ligne parcourue.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 utilisateur : login1 login2 login3 nom : nom1 nom2 nom3 prenom : prenom1 prenom2 prenom3 mdp : mdp1 mdp2 mdp3
ça fonctionne aussi avec certains nombres (1111111 ou 2222222 par exemple).
Quelqu'un aurait une idée pour résoudre mon problème ?
Je suis assez novice en script shell, je n'utilise peut être pas les bonnes commandes
Merci.
Partager