Message d'erreur

maximus13 Messages postés 2 Statut Membre -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
bonjour,
je reçois ce message d'erreur:
modif.ksh[2]: syntax error at line 11 : `'' unmatched
pouvez vous m'éclairer?
merci!

2 réponses

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

    Et si tu nous affichais le code qui va avec l'erreur, ce serait peut être plus parlant pour nous ;-))
    0
    1. maximus13 Messages postés 2 Statut Membre
       
      voila mon mini script:
      #/bin/ksh
      clear
      tmp_1=/usr/users/kfaiq/saidov/tmp_1
      #prerequis=/usr/users/kfaiq/saidov/prerequis

      for nom_var in `cat $prerequis|awk '{FS=":"}{print $2}'|awk '{FS="="}{print $1}'`
      do
      var_prerequis ='grep $nom_var $prerequis|awk '{FS=":"}{print $2}'|awk '{FS="="}{print $1}'`
      var_tmp_1='grep $nom_var $tmp_1|awk '{FS=":"}{print $2}'|awk '{FS="="}{print $1}'`

      line_var_tmp_1=`grep $nom_var $tmp_1|awk '{FS="="}{print$1}'`
      line_var_prerequis=`grep $nom_var $prerequis|awk '{FS="="}{print$1}'`
      val_var_prerequis=`grep $nom_var $prerequis|awk '{FS="="}{print $2}'`
      val_var_tmp_1=`grep $nom_var $tmp_1| awk '{FS="="}{print $2}'`
      nbre=`grep $nom_var $tmp_1 |wc -l`
      if [nbre -lt 1]
      then
      echo"${line_var_prerequis}=${val_var_prerequis}" >> tmp_1
      else
      echo " -------"
      if $nom_prerequis = $var_tmp_1
      then
      echo"------------"
      elif [ $val_var_prerequis -gt $val_var_tmp_1]
      then
      $val_var_tmp_1 = $val_var_prerequis
      else
      echo"----------"
      fi
      fi
      done


      merci!
      0
  2. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Re-

    Essaie avec ça :
    #/bin/ksh
    clear
    tmp_1=/usr/users/kfaiq/saidov/tmp_1
    #prerequis=/usr/users/kfaiq/saidov/prerequis
    
    for nom_var in `cat $prerequis|awk '{FS=":"}{print $2}'|awk '{FS="="}{print $1}'`
    do
    var_prerequis=`grep $nom_var $prerequis|awk '{FS=":"}{print $2}'|awk '{FS="="}{print $1}'`
    var_tmp_1=`grep $nom_var $tmp_1|awk '{FS=":"}{print $2}'|awk '{FS="="}{print $1}'`
    
    line_var_tmp_1=`grep $nom_var $tmp_1|awk '{FS="="}{print$1}'`
    line_var_prerequis=`grep $nom_var $prerequis|awk '{FS="="}{print$1}'`
    val_var_prerequis=`grep $nom_var $prerequis|awk '{FS="="}{print $2}'`
    val_var_tmp_1=`grep $nom_var $tmp_1| awk '{FS="="}{print $2}'`
    nbre=`grep $nom_var $tmp_1 |wc -l`
    if [nbre -lt 1]
    then
    echo"${line_var_prerequis}=${val_var_prerequis}" >> tmp_1
    else
    echo " -------"
    if $nom_prerequis = $var_tmp_1
    then
    echo"------------"
    elif [ $val_var_prerequis -gt $val_var_tmp_1]
    then
    $val_var_tmp_1 = $val_var_prerequis
    else
    echo"----------"
    fi
    fi
    done
    
    Il y avait des inversions dans tes "quotes" ( ' au lieu de ` ) à 3 endroits, ce qui provoquait des erreurs (utilises l'option "-n" pour déboguer ton script).

    Essaie aussi de remplacer les "quotes inversées" ( `commande` ) par la syntaxe "$(commnde)" beaucoup plus lisible et qui évite pas mal d'erreurs...
    0