Tableau comme structure de données en bash (fichier de configuration)?

J'ai écrit un script bash qui traiter plusieurs fichiers. Je souhaite maintenant ajouter le support d'un fichier de configuration. C'est mon voulait structure de données:

Array ( 
    [0] => Array (
        [name] => datset1
        [path] => /var/lib/bliTool/ds1
        [type] => cvs
    )

    [1] => Array (
        [name] => datset2
        [path] => /var/lib/bliTool/ds2
        [type] => xml
    )

    [2] => Array (
        [name] => datset3
        [path] => /home/igor/test/ds3
        [type] => cvs
    )
)

T1 Est une structure de données possible à l'intérieur de bash? Existe-il d'autres recommandations? Rappelez-vous, ce doit être dans un fichier de config...

T2: je pense à propos d'un fichier de configuration par " set " comme

/etc/myApp/
/etc/myApp/myApp.conf
/etc/myApp/datasets.d/
/etc/myApp/datasets.d/ds1.conf
/etc/myApp/datasets.d/ds2.conf
/etc/myApp/datasets.d/dsN.conf

et chaque /etc/myApp/ensembles de données.d/dsN.conf fichier devrait ressembler à

name=The DS name
path=/the/path/to/the/ds/files
type=thetype

Que recommandez-vous? Est-il un moyen de faire tout en un seul fichier?

T3: je veux soutenir plusieurs valeurs de chemin par set. Je pourrais soutenir quelque chose comme

path="/first/path /second/path"

Mais je pense que je vais obtenir des problèmes avec des espaces, donc je devrait mettre en place un délimiteur comme

path="/first/path:/second/path"

de diviser la chaîne.

Ou est-il un meilleur moyen?

  • Tu veux dire tldp.org/LDP/abs/html/arrays.html ?
  • Oui, quelque chose comme ça. Puis-je mélanger des tableaux indexés avec des assoc tableaux en bash? Et qu'il sera adapté pour un fichier de configuration?
  • Avez-vous considéré l'utilisation de Perl au lieu de cela?
  • Il est possible, dans le sens que bash est Turing-complet. Vous ne voulez probablement pas à écrire ou à maintenir le code nécessaire pour le faire, cependant.
InformationsquelleAutor Igor | 2013-03-28