Je suis en train de faire un petit script shell qui nécessite un fichier
de configuration.
Habituellement je fait un fichier plat puis joues du grep, awk, sed,
echo > ... Mais c'est fastidieux.
J'ai tenté d'utiliser PlistBuddy, un outil xml.
Il me permet de balancer assez simplement des info structurées, mais
pour aller les rechercher, à moins qu'il n'y ait qu'une seule valeur on
se retrouve avec une sortie xml qu'il faut parser, c'est justement pas
le but.
Je pourrais aussi remplacer le fichier de config par une base sql, mais
ça implique d'installer sql, donc non.
Existe-t-il une commande qui pourrait envoyer puis récupérer des données
dans un fichier texte de manière simple ?
2009-03-26, 13:02(+01), Michel Nicolas Alex: [...]
Je suis en train de faire un petit script shell qui nécessite un fichier de configuration.
[...]
Pourquoi pas tout simplement:
monscript.conf:
conf_param1=value conf_param2=value ...
Et dans monscript:
. /path/to/monscript.conf || exit use "$conf_param1" "$conf_param2"
? -- Stéphane
Nicolas-Michel_REMOVE
Stephane CHAZELAS wrote:
2009-03-26, 13:02(+01), Michel Nicolas Alex: [...] > Je suis en train de faire un petit script shell qui nécessite un fichier > de configuration. [...]
Pourquoi pas tout simplement:
monscript.conf:
conf_param1=value conf_param2=value ...
Et dans monscript:
. /path/to/monscript.conf || exit use "$conf_param1" "$conf_param2"
?
Probablement que je ne me suis pas expliqué assez clairement.
Tant qu'il n'y a qu'une simple liste de variable, c'est facile ...
Mais prends par exemple smb.conf.
Il y a un chapitre [global] puis un ou plusieurs chapitres "special" où le [nom] est inscrit entre crochets. Pour utiliser ce fichier, tu dois donc découper le fichier en chapitres. Puis quand tu écrit dans le fichier, tu dois replacer la ligne dans le bon chapitre.
On pourrait du reste ajouter un niveau d'arborescence, voir plusieurs.
J'ai finit par faire une fonction qui va chercher l'info et une autre qui va écrire au bon endroit. Mais c'est un peu con parce que ce genre de besoins me semble courant, donc j'ai de la peine à immaginer que personne n'a fait un petit binaire qui gère ça bien mieux que ce que je suis capable de faire. A ce qu'il me semble c'est un peu la raison d'être du xml, mais les outils que j'ai trouvé m'ont déçu.
2009-03-26, 13:02(+01), Michel Nicolas Alex:
[...]
> Je suis en train de faire un petit script shell qui nécessite un fichier
> de configuration.
[...]
Pourquoi pas tout simplement:
monscript.conf:
conf_param1=value
conf_param2=value
...
Et dans monscript:
. /path/to/monscript.conf || exit
use "$conf_param1" "$conf_param2"
?
Probablement que je ne me suis pas expliqué assez clairement.
Tant qu'il n'y a qu'une simple liste de variable, c'est facile ...
Mais prends par exemple smb.conf.
Il y a un chapitre [global] puis un ou plusieurs chapitres "special" où
le [nom] est inscrit entre crochets.
Pour utiliser ce fichier, tu dois donc découper le fichier en chapitres.
Puis quand tu écrit dans le fichier, tu dois replacer la ligne dans le
bon chapitre.
On pourrait du reste ajouter un niveau d'arborescence, voir plusieurs.
J'ai finit par faire une fonction qui va chercher l'info et une autre
qui va écrire au bon endroit.
Mais c'est un peu con parce que ce genre de besoins me semble courant,
donc j'ai de la peine à immaginer que personne n'a fait un petit binaire
qui gère ça bien mieux que ce que je suis capable de faire.
A ce qu'il me semble c'est un peu la raison d'être du xml, mais les
outils que j'ai trouvé m'ont déçu.
2009-03-26, 13:02(+01), Michel Nicolas Alex: [...] > Je suis en train de faire un petit script shell qui nécessite un fichier > de configuration. [...]
Pourquoi pas tout simplement:
monscript.conf:
conf_param1=value conf_param2=value ...
Et dans monscript:
. /path/to/monscript.conf || exit use "$conf_param1" "$conf_param2"
?
Probablement que je ne me suis pas expliqué assez clairement.
Tant qu'il n'y a qu'une simple liste de variable, c'est facile ...
Mais prends par exemple smb.conf.
Il y a un chapitre [global] puis un ou plusieurs chapitres "special" où le [nom] est inscrit entre crochets. Pour utiliser ce fichier, tu dois donc découper le fichier en chapitres. Puis quand tu écrit dans le fichier, tu dois replacer la ligne dans le bon chapitre.
On pourrait du reste ajouter un niveau d'arborescence, voir plusieurs.
J'ai finit par faire une fonction qui va chercher l'info et une autre qui va écrire au bon endroit. Mais c'est un peu con parce que ce genre de besoins me semble courant, donc j'ai de la peine à immaginer que personne n'a fait un petit binaire qui gère ça bien mieux que ce que je suis capable de faire. A ce qu'il me semble c'est un peu la raison d'être du xml, mais les outils que j'ai trouvé m'ont déçu.