Message d'erreur

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. Modérateur
    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...
    1. Modérateur
      Salut,

      Et si tu nous affichais le code qui va avec l'erreur, ce serait peut être plus parlant pour nous ;-))
      1. 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!