If elif fi syntaxe ksh

Résolu
bma23 Messages postés 4 Statut Membre -  
bma23 Messages postés 4 Statut Membre -
Bonjour,
J'ai essayé déexécuter ceci mais apparement l'éxcution s'arrête au premier if:

if [ PUSERDEF="BCR_U" ] ; then
PARM="dest_trt_dqm_U"
ENVIRONNEMENT="Developpement"
elif [ PUSERDEF="BCR_F" ] ; then
PARM="dest_trt_dqm_F"
ENVIRONNEMENT="Integration Logica"
elif [ PUSERDEF="BCR_I" ] ; then
PARM="dest_trt_dqm_I"
ENVIRONNEMENT="Integration"
elif [ PUSERDEF="BCR_V" ] ; then
PARM="dest_trt_dqm_V"
ENVIRONNEMENT="Validation"
elif [ PUSERDEF="BCR_P" ] ; then
PARM="dest_trt_dqm_P"
ENVIRONNEMENT="Production"
LETTRE="X"
fi
A voir également:

3 réponses

jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Il faut des espaces autour du signe égal et le signe "$" (dollar) pour définir ta variable "$PUSERDEF" :
if [ "$PUSERDEF" = "blabla" ]; then...
1
bma23 Messages postés 4 Statut Membre
 
merci pour ta réponse.

Le soucis est que je ne connais pas la syntaxe en ksh alors j'ai essayé ceci:
"$LETTRE" = "U"
if [ "$PUSERDEF" = "BCR_U" ] ; then
"$PARM" = "dest_trt_dqm_U"
"$ENVIRONNEMENT" = "Developpement"
elif [ "$PUSERDEF" = "BCR_F" ] ; then
"$PARM" = "dest_trt_dqm_F"
"$ENVIRONNEMENT" = "Integration Logica"
elif [ "$PUSERDEF" = "BCR_I" ] ; then
"$PARM" = "dest_trt_dqm_I"
"$ENVIRONNEMENT" = "Integration"
elif [ "$PUSERDEF" ="BCR_V" ] ; then
"$PARM" = "dest_trt_dqm_V"
"$ENVIRONNEMENT" = "Validation"
elif [ "$PUSERDEF" = "BCR_P" ] ; then
"$PARM" = "dest_trt_dqm_P"
"$ENVIRONNEMENT" = "Production"
"$LETTRE" = "X"
fi

sachant que la variable PUSERDEF est définie en amont tel que PUSERDEF=$USER_DEF (un paramètre dans le .profile) par contre les variables ENVIRONNEMENT, PARM, LETTRE ne sont définis nulle part je viens de les ajouter dans mon script.

Merci d'avance
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
bonjour,
et c'est en quel langage ton truc?
0
bma23 Messages postés 4 Statut Membre
 
c'est du ksh.

les variables sont PARM, ENVIRONNEMENT, PUSERDEF.
Si la variable PUSERDEF = BCR_U => la valeur de la variable PARM est dest_trt_dqm_U et la valeur de la variable ENVIRONNEMENT est Developpement etc...
je n'ai jamais dévlopper en ksh donc ça doit être un simple problème de variable et de syntaxe..
Merci pour votre aide..
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
0
bma23 Messages postés 4 Statut Membre
 
Merci jcipy pour l'aide apportée. J'ai pu corriger le problème grâce à ton cours voici la réponse:

LETTRE=U
if $PUSERDEF = "BCR_U" ; then
PARM="dest_trt_dqm_U"
ENVIRONNEMENT="Developpement"
elif $PUSERDEF = "BCR_F" ; then
PARM="dest_trt_dqm_F"
ENVIRONNEMENT="Integration"
elif $PUSERDEF = "BCR_I" ; then
PARM="dest_trt_dqm_I"
ENVIRONNEMENT="Integration"
elif $PUSERDEF ="BCR_V" ; then
PARM="dest_trt_dqm_V"
ENVIRONNEMENT="Validation"
elif $PUSERDEF = "BCR_P" ; then
PARM=dest_trt_dqm_P
ENVIRONNEMENT=Production
LETTRE="X"
fi
0