Rechercher : dans
Par :

Script perl dans bash

Dernière réponse le 9 jui 2009 à 10:22:39 must21, le 8 jui 2009 à 17:48:20 
 Signaler ce message aux modérateurs

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

Configuration: DELL Precision M4400
XP Pro 32bits
Intel T9400 2,54Ghz
4Go DDRII 800

Meilleures réponses pour « script perl dans bash » dans :
Perl - Caractéristiques du langage VoirFichier source, et interprétation Le fichier source d'un programme écrit en Perl est un simple fichier texte dont l'extension est par convention .pl. Ce fichier source doit être un fichier texte non formatté, c'est-à-dire un fichier texte dans sa...

1

jipicy, le 8 jui 2009 à 17:57:56

Salut,

Avec "sed" essaies comme ça plutôt :

sudo sed  "s#/$sPlateformDirSrc/#/$sPlateformDirDest/#g" /etc/apache2/sites-available/$1.conf 
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

2

 must21, le 9 jui 2009 à 10:22:39

Merci sa marche parfaitement.
En un coup :) Chapeau !!

Répondre à must21
Collection CommentÇaMarche.net