| Qui est en ligne ? |
| Il y a : 16 utilisateurs en ligne, consultez le détail |
Forum » Serveur, Réseaux et Programmation » modifier un parametre dans un fichier de config en bash |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
| Page : [1] |
| Auteur | Message |
|---|---|
|
|
#0 Message posté le : 08-05-2008 à 18:38:35 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 26-10-2006 Nombre de messages : 47 |
bonjour , J'ecris un script bash et dans celui ci plusieurs parametres de configuration sont demandé a l'utilisateur, ce que j'aimerais c'est modifier un fichier de configuration en fonction des informations de l'utilisateur. Je precise que le fichier de configuration n'est pas crée par moi donc je ne peux pas intervenir sur la syntaxe qui est la suivante : parametredossier = blabla parametrefichier = blabla comment puis faire cela ? d'avance merci ------------------------------------- On est toujours le newbie de quelqu"un. |
|
|
#1 Message posté le : 08-05-2008 à 20:34:47 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1866 |
Essaye quelque chose comme :
sed -r "s/([blank]*$CLEF[blank]*=[blank]*).*$/\1$VALEUR/" fichier.deconf -i après avoir positionné $CLEF et $VALEUR ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
|
|
#2 Message posté le : 08-05-2008 à 21:25:32 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 26-10-2006 Nombre de messages : 47 |
salut azollyx, Merci pour ta reponse j'ai essayé mais apparament ca ne fonction pas , j'ai fais ceci : valeur=/home/tom/ clef=log_dir sed -r "s/([blank]*$clef[blank]*=[blank]*).*$/\1$valeur/" conf.ini -i et rien n'est modifié dans monb fichier --Message édité par ToMsS le 08-05-2008 à 21:26:15-- ------------------------------------- On est toujours le newbie de quelqu"un. |
|
|
#3 Message posté le : 09-05-2008 à 13:31:21 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1866 |
Pourtant ça marchait chez moi... mais tu ne peux avoir de '/' ni dans $clef ni dans $valeur... ou alors il faut utiliser un autre caractère avec sed, par exemple
sed -r "s%([blank]*$clef[blank]*=[blank]*).*$%\1$valeur%" conf.ini -i tu peux utiliser celui que tu veux, du moment qu'il n'est pas utilisé ni dans la clef ni dans la valeur.Si ça ne marche toujours pas, serait-il possible de voir le fichier de config concerné et d'avoir des exemples de modifications à faire. PS : évite aussi les '\' dans $clef et $valeur. ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
|
|
#4 Message posté le : 10-05-2008 à 17:39:00 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 26-10-2006 Nombre de messages : 47 |
euh non ca ne fonctionne toujours pas ... , le fichier de config ce presente comme ceci: [general] web_root = /usr/share/mt-daapd/admin-root port = 3689 admin_pw = root db_type = sqlite3 db_parms = /var/cache/mt-daapd # mp3_dir (required) mp3_dir = /mnt/music j'aimerais notamment changer la variable mp3_dir avec la valeur mise par l'utilisateur , qui sera forcement un chemin merci ------------------------------------- On est toujours le newbie de quelqu"un. |
|
|
#5 Message posté le : 10-05-2008 à 20:33:55 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1866 |
C'était les '[blank]' qui ne passaient pas. Avec ton fichier, cette expression marche : read -p 'clef: ' clef clef=`echo $clef | sed 's/%/\\\%/g'` read -p 'valeur: ' valeur valeur=`echo $valeur | sed 's/%/\\\%/g'` sed -r "s%(^[ $'\t']*$clef[ $'\t']*=[ $'\t']*).*\$%\1$valeur%" conf.ini -i --Message édité par Azollyx le 10-05-2008 à 20:52:05-- ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
|
|
#6 Message posté le : 10-05-2008 à 23:39:20 |
Petit scarabée Forum : Inscrit Association : Arrivé(e) le : 26-10-2006 Nombre de messages : 47 |
Parfait !! , merci pour le coup de main Azollyx a bientot ------------------------------------- On est toujours le newbie de quelqu"un. |
|
|
#7 Message posté le : 11-05-2008 à 11:17:29 |
Hobbit Forum : Modérateur Association : Membre actif Arrivé(e) le : 09-04-2006 Nombre de messages : 1866 |
Je viens de penser à un truc : l'expression que je t'ai fourni supprimera les commentaires de fin de ligne. --Message édité par Azollyx le 11-05-2008 à 11:17:40-- ------------------------------------- Azollyx Horaldius [http://www.azollyx.eu/] |
| Page : [1] |
Forum » Serveur, Réseaux et Programmation » modifier un parametre dans un fichier de config en bash |
Forum modéré par : jblecanard |
| Même auteur |
|
Score ( voter ) : |
|
- Petit scarabée : 0 pastille, moins de 100 messages
- Scarabée : 0 pastille, plus de 100 messages
- Hobbit : 1 pastille, plus de 1000 messages
- Naboo : 2 pastilles, plus de 2000 messages
- Elfe : 3 pastilles, plus de 3000 messages
- Jedi : 4 pastilles, plus de 4000 messages
- Maître Jedi : 5 pastilles, plus de 5000 messages