Bienvenue visiteur (Inscription |  Connexion)
Qui est en ligne ?
Il y a : 16 utilisateurs en ligne, consultez le détail
Auteur Message
ToMsS
#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.
Azollyx
#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/]
ToMsS
#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.
Azollyx
#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/]
ToMsS
#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.
Azollyx
#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/]
ToMsS
#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.
Azollyx
#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/]