Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
Problème avec un script shell
Envoyé par: SunTux

Bonjour à tous et à toutes.
Je travail actuellement sur un script. Ce dernier bloque sur cette parti: (quand il arrive la il me met une erreure et je ne vois pas d'ou elle vient):
echo "création des groupes utilisateurs"
Xi=0
while [ Xi -ne 1 ] ; do
echo -n "Saisir le nom du groupe: "
read group
groupadd $group
if ($choix6=1) then
echo "Bienvenue %Username% sur le domaine $nomdom" > $group.bat
echo "Restauration de vos parametres en cours..." >> $group.bat
if ($choix10=1) then
echo "net use G: \\$nomserv\commun\" >> $group.bat
fi
fi
echo "Le groupe $group à été créé."
echo ""
echo "voulez vous créer un autre groupe?"
echo " 1 =====> Oui"
echo " 2 =====> Non"
echo "Votre choix: "
read choix11
case $choix11 in
1 )
Xi=0
;;
2 )
Xi=1
;;
esac
done

mon script s'arrete au niveau "creation des groupe d'utilisateurs et j'obtien le message suivant:

Création des groupes utilisateurs
param_samba_pdc.sh: line 418: unexpected EOF while looking for matching `"'
param_samba_pdc.sh: line 419: syntax error: unexpected end of file
linux:/home/guillaume #
Ici la ligne 418, 419 c'est vraiment la fin de mon script, envrion 200 lignes plus bas et c'est juste marqué ca a la fin de mon script
echo "Fin du script"
echo "Lassoduweb developpement"
je pense donc que le problème vient de ma boucle car il passe meme pas une fois dans la boucle.
Est ce que quelqu'un voit une erreur?

Merci d'avance,

Nb: Apres validation de ce message tout sera alligné à gauche, mais mon script respecte bien les decallage quand j'ouvre une boucle, une structure conditionnelle ou un choix (case).
Guillaume

Poste le Wednesday 19 January 2005 19:52:13
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: ceric35

while [ $Xi -ne 1 ] ; do

non ?

Poste le Wednesday 19 January 2005 20:18:44
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: SunTux

Non sad smiley j'ai deja essayé, je comprend vraiment pas pourquoi ca ne marche pas ...

Poste le Wednesday 19 January 2005 21:16:51
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: ceric35

echo "création des groupes utilisateurs"
Xi=0
while [ $Xi -ne 1 ] ; do
echo -n "Saisir le nom du groupe: "
read group

if ($choix6=1) then
echo "Bienvenue %Username% sur le domaine $nomdom" > $group.bat
echo "Restauration de vos parametres en cours..." >> $group.bat
if ($choix10=1) then
echo "net use G: \\\\$nomserv\\commun\\" >> $group.bat
fi
fi
echo "Le groupe $group à été créé."
echo ""
echo "voulez vous créer un autre groupe?"
echo " 1 =====> Oui"
echo " 2 =====> Non"
echo "Votre choix: "
read choix11
case $choix11 in
1 )
Xi=0
;;
2 )
Xi=1
;;
esac
done


c tellement evident qu'on l'a pas vue ;-)

Poste le Wednesday 19 January 2005 21:26:20
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: ceric35

while [ $Xi -ne 1 ] ; do
echo -n "Saisir le nom du groupe: "
read group

if [ $choix6=1 ] ; then
echo "Bienvenue %Username% sur le domaine $nomdom" > $group.bat
echo "Restauration de vos parametres en cours..." >> $group.bat
if [ $choix10=1 ] ; then
echo "net use G: \\\\$nomserv\\commun\\" >> $group.bat

deux autres pou la route :-))

Poste le Wednesday 19 January 2005 21:32:09
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: SunTux

ça ne change rien sad smiley toujours le meme probleme sad smiley

Poste le Wednesday 19 January 2005 21:41:09
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: ceric35

Tu est sur ?
C quoi le message ?

Citation
moi
[/home/eric]>sh script
création des groupes utilisateurs
Saisir le nom du groupe: test
Le groupe test à été créé.

voulez vous créer un autre groupe?
1 =====> Oui
2 =====> Non
Votre choix:
1
Saisir le nom du groupe: test2
Le groupe test2 à été créé.

voulez vous créer un autre groupe?
1 =====> Oui
2 =====> Non
Votre choix:
2
[/home/eric]>

Poste le Wednesday 19 January 2005 21:55:35
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: marc ferraton

s/
echo "Le groupe $group à été créé."
/
echo "Le groupe $group a été créé."
/
peut-être qu'il préfère le français #%b

pour trouver as-tu essayé avec les options set -x et set -n

si cela m'arrivais, je commencerait avec un set -n en commentant au fur et à mesure les lignes au sein de ma boucle..
en plus j'encadrerais mes variables
${choix6} plutôt que $choix6

Poste le Wednesday 19 January 2005 22:07:21
Répondre     Citer    
Re: Problème avec un script shell
Envoyé par: Eric92

Encore 2 petites corrections (pas sûr que ça suffira) :
if [ $choix6 = 1 ]; then
if [ $choix10 = 1 ] ; then
# le signe = doit être séparé par des blancs.

# Ou si choix6, choix10 sont toujours numériques :
if ((choix6==1)) ; then
if ((choix10==1)) ; then

Mais « unexpected EOF while looking for matching `"' »
indique qu'il manque un " pour fermer une chaîne,
il est donc imoportant de doubler les \ dans : echo "net use G: ...


Poste le Thursday 20 January 2005 00:03:35
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
Problème avec un script shell
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons