Incompréhension avec sed et une variable
Bonjour,
Je vous montre un "bout" de ce que j'ai fait comme code et qui me pose problème !
Voila le but est de modifier le contenu du fichier environment (variable PATH)
J'ai trouvé l'exemple utilisé pour le sed qui fonctionne très bien directement en ligne de commande. Mais dès que je le "variabilise". Là, c'est le drame après plusieurs tests je n'ai pas trouvé le problème. Pourriez vous éclairer la lanterne ? Merci. :)
PS : LOGS dans le futur logera les messages et Launch traite l'erreur si il y a sur la variable CMD.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
|
#!/usr/bin/ksh
set +x
date
LOGS (){
if [[ "$VAR" -ne 0 ]]
then
echo "[NOK] => "$@". Son numero est : "$VAR
else
echo "[OK] => "$@
fi
}
Launch (){
$CMD
VAR=`echo $?`
LOGS "Lancement de $CMD"
}
CMD="sed 's/\/usr\/java5\/bin/\/usr\/java5\/bin:\/opt\/seos\/bin/g' < environment > fich.tmp && mv -f fich.tmp environment"
Launch
CMD="ls -l"
Launch
exit |