Message d'erreur

maximus13 Messages postés 2 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
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

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

Et si tu nous affichais le code qui va avec l'erreur, ce serait peut être plus parlant pour nous ;-))
0
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
jipicy Messages postés 41342 Statut Modérateur 4 896
 
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