Script perl dans bash [Résolu/Fermé]

Signaler
Messages postés
190
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
9 septembre 2012
-
Messages postés
190
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
9 septembre 2012
-
Salut les gens :bounce: :hello:

J'essaie d'éditer, avec un script sh sous debian etch 4, un fichier d'alias apache (.conf), suite au déplacement d'un site dans l'arborescence.
J'ai essayer des dizaines de solutions, mais rien ne semble fonctionnner.
Mon but, remplacer dans le fichier de conf "/AncienRpertoire/" par "/nouveauRepertoire/"

Note:$1 nom du fichier conf


1/
Code :

1. sudo perl -p -i -e 's/\/$DirSrc\//\/$DirDest\//gi' /etc/apache2/sites-available/$1.conf


Qd j'execute ça dans la console, ça fonctionne parfaitement, j'ai fait des echo de cette ligne dans mon script ca donne des truc du genre:

Code :

1. perl -p -i -e 's/\/betatesters\//\/alpha\//gi' /etc/apache2/sites-available/betatest.conf



Mais qd je lance en root le script .sh qui fait ça... il ne se passe rien, le fichier n'est pas modifié


2/
Code :

1. sudo sed -e 's/\/$sPlateformDirSrc\//\/$sPlateformDirDest\//g' /etc/apache2/sites-available/$1.conf


Ca m'affiche le résultat en cosole... j'ai bien esssayer de rajouter >/etc/apache2/sites-available/$1.conf, voir meme de passer par un ficher temporaire, mais ça me donne des fichiers .conf vide.



Le meilleur résultat que j'ai obtenu est celui-ci:
Code :

1. sText=`cat /etc/apache2/sites-available/$1.conf`
2. #echo ${sText//$sPlateformDirSrc/$sPlateformDirDest} > /etc/apache2/sites-available/$1.conf
3. #cat /etc/apache2/sites-available/$1.conf



mais je perds les sauts de ligne, et apache m'indique bien évidemment que le fichier n'est pas correct.



Quelqu'un pourrait me donner un coup de main plz :D
Merci d'avance. :p

2 réponses

Messages postés
40806
Date d'inscription
jeudi 28 août 2003
Statut
Non membre
Dernière intervention
10 août 2020
4 757
Salut,

Avec "sed" essaies comme ça plutôt :
sudo sed  "s#/$sPlateformDirSrc/#/$sPlateformDirDest/#g" /etc/apache2/sites-available/$1.conf 
Messages postés
190
Date d'inscription
jeudi 18 septembre 2008
Statut
Membre
Dernière intervention
9 septembre 2012
22
Merci sa marche parfaitement.
En un coup :) Chapeau !!