Automatisation avec bash

Utilisation de bash pour simplifier le traitement de tâches en ligne de commandes

26/08/2021

Bash
Automatisation
article illustration

L'utilisation des lignes de commandes peut parraitre compliquée au novice, cependant elle apporte beaucoup de facilité dans le traitement de masse.

Dès qu'il s'agit de traiter des fichiers dans plusieurs répertoires (3 peuvent suffire) il est intéressant de se pencher sur la solution en ligne de commandes.

Bash est un langage en ligne de commandes, il permet de rédiger des scripts (suite d'instructions) et facilite les traitements sur un système.

Bien que non natif sur les systèmes Windows, il est facile de se dôter de ce système en utilisant le client WSL (2) que je ne saurai que trop bien recommander ou encore le client gitbash.

Les autres systèmes d'exploitation (Mac et linux) disposent de leurs terminaux respectifs et ne nécessitent donc pas d'installation supplémentaire.

L'utilisation classique d'un script bash est par exemple l'utilisation d'une copie vers différents répertoires, par exemple, celui d'un git hook.

Il serait laborieux si 10 modules différents nécessitent l'ajout d'un même hook, d'aller se déplacer via un explorateur de fichiers dans l'arborescence de fichiers, cependant, il devient bien plus rapide de faire la même chose en ligne de commande :

Ces 5 lignes permettent de manière automatique de copier notre hook dans tous les modules, là où il devient long de le faire à la main.

De la même manière, il est possible d'utiliser un script de type phpCsFixer sur l'ensemble de ses fichiers de manière rapide plutôt que d'utiliser les fonctions équivalentes d'un IDE qui nécessiteraient d'ouvrir un à un les fichiers puis de leur appliquer la fonction.

Il est tout de même bon de retenir qu'il ne sert pas forcement d'automatiser une tâche qui sera réalisée 1x ou seulement à quelques reprises mais de manière très éloignée dans le temps mais plutôt celles qui sont redondantes (Tous les jours, toutes les heures, qui font partie d'un process récurrent).

A retenir

Le langage Bash permet d'automatiser ses tâches, qu'il s'agisse d'administration système ou de tâches plus complexes, il est interessant de se pencher sur le langage qui, bien que singulier par sa syntaxe notamment, sera utile à raccourcir de nombreuses tâches et très utile dans une époque ou CI et CD ont une belle part des emplois recherchés.

La connaissance de ce langage permet facilement d'utiliser bon nombre de capacités de votre ordinateur (et pas que !) afin d'être plus efficace et de généraliser/automatiser certains process.