Parse de fichier ini en bash

Publié le 30/12/2008

Je sais que ça parait un peu bizarre mais il n’existe pas de commande bash pour lire une valeur dans un fichier ini… vous allez me dire “avec un vieux coup de php, perl ou python ça va vite” mais moi je préfère un truc en Bash…

Donc voilà un petit script que je me suis codé il y a quelques temps, retrouvé dans les méandres de mon serveur… je me suis dis que comme je vous ai pas offert de cadeaux à noël… ;)

A rendre exécutable et/ou à placer dans le PATH (par exemple /usr/bin/):\\ http://www.metal3d.org/tools/iniget-0.0.1.tar.bz2.

Pour faire simple, l’installation se fait de cette manière:

su - 
#mot de passe root
cd /tmp
wget http://www.metal3d.org/tools/iniget-0.0.1.tar.bz2
tar jxvf iniget-0.0.1.tar.bz2
cd iniget-0.0.1
cp iniget /usr/bin
chmod +x /usr/bin/iniget
# et on quitte root
exit

#testez voir si ça marche:
iniget -h

Le script installé, il s’utilise simplement; imaginez un fichier exemple.ini:

[section1]
var1=foo

[section2]
var1=bar
autre.valeur=Hello World

La commande à utiliser pour récupérer une valeur:

> iniget section1.var1 exemple.ini
foo

> iniget section2.var1 exemple.ini
bar

> iniget section2.autre.valeur exemple.ini
Hello World

Voilà, ça peut servir si vous voulez faire d’autres scripts qui ont besoin de configuration et que vous aimeriez utiliser des fichier ini. C’est vrai que c’est tout de même très lisible, d’ailleurs PHP, Samba et bien d’autre logiciels ont choisi ce type de configuration.

comments powered by Disqus