if [ $# -eq 3 ] then if [ "$1" = "put" ] then echo "$1 $2 $3" >> sh.db elif [ "$2" = "$ky" -a "$1" = "put" ] #===========> apartir de la ca deconne la comparaison "$2" = "$ky" ne marche pas. Mais pourquoi donc???? je ne sais pas. then echo "je doi ecraser la valeur (arg3 du prog)" >> sh.db fi fi }
Le prog pren en parametre: ./prog put key value il ecrit donc put key value dans le fichier sh.db ensuite si je fai : ./prog put key1 value1 et la kan je fait un cat de sh.db il maffiche bien : put key value put key1 value1 LE PROBLEME ARRIVE ICI: si je retape ./put key value il doi ecraser la valeur de la clef dans le fichier on aura donc: put key put key1 vallue1
Marsh Posté le 20-01-2007 à 21:57:14
Bonjour a tous. Voila je suuis en ecole d'info et jai un script a faire.
Voila mon code :
put_in_db()
{
ky=`cut -d" " -f2 sh.db | grep -w "$2"`
if [ $# -eq 3 ]
then
if [ "$1" = "put" ]
then
echo "$1 $2 $3" >> sh.db
elif [ "$2" = "$ky" -a "$1" = "put" ] #===========> apartir de la ca deconne la comparaison "$2" = "$ky" ne marche pas. Mais pourquoi donc???? je ne sais pas.
then
echo "je doi ecraser la valeur (arg3 du prog)" >> sh.db
fi
fi
}
Le prog pren en parametre:
./prog put key value
il ecrit donc put key value dans le fichier sh.db
ensuite si je fai :
./prog put key1 value1
et la kan je fait un cat de sh.db il maffiche bien :
put key value
put key1 value1
LE PROBLEME ARRIVE ICI:
si je retape
./put key value
il doi ecraser la valeur de la clef
dans le fichier on aura donc:
put key
put key1 vallue1
Merci de me repondre!!!