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
Configuration: Windows XP Internet Explorer 6.0

3 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    Il faut des espaces autour du signe égal et le signe "$" (dollar) pour définir ta variable "$PUSERDEF" :
    if [ "$PUSERDEF" = "blabla" ]; then...
    1
    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
  2. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    bonjour,
    et c'est en quel langage ton truc?
    0
    1. 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
  3. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    0
    1. 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