Script perl dans bash
Résolu
must21
Messages postés
209
Statut
Membre
-
must21 Messages postés 209 Statut Membre -
must21 Messages postés 209 Statut Membre -
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
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
A voir également:
- Script perl dans bash
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Bingo bash free - Télécharger - Divers Jeux
- Bash addition - Forum Shell