16 octobre 2024

Krusell France

Ta dose d'actu digital !

Optimisez vos scripts Bash avec un fichier de configuration dédié !

Script Bash - Utiliser un fichier de configuration
Rate this post

Dans ce tutoriel, nous allons apprendre à utiliser un fichier de configuration pour les scripts bash (langage de script Linux). L’utilisation d’un fichier de configuration signifie qu’un fichier, extérieur au script, contiendra les variables qui seront utilisées dans le script.

Présentation

Dans un tel contexte, les scripts Bash seront dépourvus de la déclaration des variables principales et utiliseront un fichier de configuration pour récupérer le contenu de ces variables. Les intérêts y sont multiples :

Une clarification de la construction et de l’utilisation des scripts : nous aurons d’un côté le script, de l’autre les variables. Si notre script est volumineux, nous n’aurons pas à fouiller parmi les nombreuses lignes et fonctions l’endroit où se trouve une variable pour la modifier.

La possibilité d’utiliser plusieurs configurations différentes sans phase de modification. En effet, il sera facilement possible, dans des environnements différents (production, pré-production, développement) d’utiliser un même script sans avoir à modifier son contenu. Il nous suffira de pointer vers le bon fichier de configuration pour changer les variables utilisées par le script.

Une épuration du script pour une meilleure sécurité. Dans une telle configuration, il devient réaliste d’effectuer une vérification d’intégrité (via l’empreinte) d’un script avant exécution par exemple, car quel que soit l’environnement d’exécution du script, son contenu n’aura pas changé. Cela nous permettra aussi de modifier les permissions du script pour le rendre non modifiable.

Une réduction du risque d’erreurs manuelles lors de la mise à jour des paramètres. Cela contribue à maintenir la cohérence et l’intégrité des scripts, évitant les problèmes de sécurité liés à des configurations ou modifications incorrectes.

Fonctionnement global

Dans les faits, l’utilisation d’un fichier de configuration nécessite d’avoir deux fichiers au lieu d’un : un script bash et un fichier de configuration (qui contiendra nos variables). Étant sous Linux, la nomenclature du fichier de configuration importe peu. Cependant, il peut être intéressant de la normaliser pour une meilleure clarté. Cela en utilisant des noms tels que “config.txt”, “config.ini” ou encore “SETTINGS.txt”.

Par ailleurs, l’intérêt est aussi de disposer de plusieurs fichiers de configuration pour un même script, mais contenant des valeurs différentes qui sont propres à chaque environnement ou serveur.

Imaginons à présent un scénario pour contextualiser une telle utilisation d’un fichier de configuration. Nous souhaitons créer un script qui fait une sauvegarde d’un répertoire dans une archive et change le propriétaire de cette archive. Nous disposons de deux environnements.

Construire son fichier de configuration

Le fichier de configuration n’est rien d’autre qu’un script bash qui déclare des variables, voici un exemple de fichier de configuration :

# Contenu d’un fichier de configuration type
aSauvegarder=”Chemin du répertoire à sauvegarder”
dest=”Chemin vers la destination”
owner=”utilisateur”

Dans notre contexte, j’aurai donc deux fichiers de configuration. Le premier nommé “prod.conf” et le second “dev.conf”.

Import dans le script bash et utilisation

Très simplement, voici le script bash utilisé pour mon opération. Pour importer un fichier de configuration, nous utiliserons la commande “source” dans mon script.

Ici, “$1” sera remplacé par le premier paramètre que nous passerons à notre script. Pour utiliser notre fichier de configuration de manière dynamique, nous utiliserons la commande suivante.

Conclusion

Dans ce tutoriel, nous avons vu comment utiliser des fichiers de configuration afin de rendre plus facile l’utilisation des scripts dans différents contextes. Nous sommes maintenant en mesure d’utiliser un même script avec des variables différentes, sans modification du code ou la transmission d’un grand nombre de paramètres dans la ligne de commande.

Source : www.it-connect.fr

  • julien castex redacteur tech

    Julien est un journaliste tech polyvalent avec une expérience couvrant divers aspects de la high tech, en passant par les smartphones et l'Intelligence Artificielle. Il écrit sur les dernières tendances technologiques, les startups et les projets innovants ainsi que les impacts de la technologie sur la société.

    Voir toutes les publications