Intégration dans un script [Sed] - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 20-03-2007 à 12:38:36
Pourquoi tu mets tant de variables et de quotes dans ton script là ??
Sinon, essayes de backslasher les simples quotes: \' ça devrait aller mieux
Marsh Posté le 20-03-2007 à 13:23:23
wedgeant a écrit : Pourquoi tu mets tant de variables et de quotes dans ton script là ?? |
Parce que ce n'est qu'un extrait de ce qui me pose problème.
Les backslashes, ne résoud pas le problème.
Marsh Posté le 20-03-2007 à 14:20:59
MrHarry a écrit : Salut
|
Merci beaucoup, ça fonctionne.
Marsh Posté le 20-03-2007 à 11:54:25
Bonjour tout le monde,
J'ai un souci, le sed qui est dans le script qui suit me retourne systèmatiquement cette erreur :
sed: -e expression n°1, caractère 1: Commande inconnue: `''
#!/bin/sh
IMPORTLIST_FILE=SerialFichier.txt
echo SetAccountRules >> $IMPORTLIST_FILE
CMD="sed -i -e 's/SetAccountRules/SetAccountMailRules/' $IMPORTLIST_FILE"
LAST_LOG=$($CMD 2>&1)
echo "\"$CMD\""
echo $LAST_LOG
La formule avec
LAST_LOG=`$CMD 2>&1`
n'est pas plus fructueuse.
En fait, je sais que le souci vient de la séparation entre les arguments "sed" "-i" "-e 's/SetAccountRules/SetAccountMailRules/'" "$IMPORTLIST_FILE"
Si l'on transforme le script de cette manière ça fonctionne, mais c'est restrictif au niveau des doubles et simples guillements..
#!/bin/sh
IMPORTLIST_FILE=SerialFichier.txt
echo SetAccountRules >> $IMPORTLIST_FILE
CMD="sed -i -e s/SetAccountRules/SetAccountMailRules/ $IMPORTLIST_FILE"
LAST_LOG=eval $CMD
echo "\"$CMD\""
echo $LAST_LOG
Quel est votre avis sur le bousin ?