If elif fi syntaxe ksh

Résolu
bma23 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -  
bma23 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention   -
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

3 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   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 Date d'inscription   Statut Membre Dernière intervention  
 
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 16602 Date d'inscription   Statut Contributeur Dernière intervention   3 313
 
bonjour,
et c'est en quel langage ton truc?
0
bma23 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
0
bma23 Messages postés 4 Date d'inscription   Statut Membre Dernière intervention  
 
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