comportement de sed dans un script sh
Bonjour et merci de passer par ce sujet.
J'ai actuellement un problème avec sed dans un script sh que je développe.
Lorsque j'exécute la commande dans le shell tout se passe parfaitement, la ligne recherchée est supprimée correctement, mais dès que j'essaye d'exécuter la même commande à partir de mon script j'ai l'erreur.
voici un exemple de la commande sed que j'utilise :
Code:
1 2
|
sed 's_zone "un-site.com" { type master; file "~/test/conf/db.un-site.com"; };__g' < ~/test/backup/named.conf.local.bak_20090428 > ~/test/named.conf.local |
Elle fonctionne parfaitement.
voici maintenant une partie du code source du script pour lequel cette commande a été crée :
Code:
1 2 3 4 5
|
cp "/etc/bind/named.conf.local" "/etc/bind/backup/named.conf.local.bak_${DATE_SUPPRESSION}"
RECHERCHE="s_zone \"${LOCAL_NOM_SITE}\" { type master; file \"/etc/bind/conf/db.${LOCAL_NOM_SITE}\"; };__g"
PARAMS="'${RECHERCHE}' < /etc/bind/backup/named.conf.local.bak_${DATE_SUPPRESSION} > /etc/bind/named.conf.local"
`sed "${PARAMS}"` |
Le message d'erreur est :
Code:
sed: -e expression n°1, caractère 1: commande inconnue: `''
Je ne comprends pas ou se pose le problème d'autant plus que si je fais un echo de sed ${PARAMS}, la commande affichée est correcte; je peux l'exécuter "manuellement" via l'invite de commande en la copiant collant et étrangement là il n'y a aucune erreur.
Votre aide est vraiment la bien venue, des explications aussi si possible.
D'avance merci.