Bash : aller encore plus loin avec les bonnes pratiques

Magazine
Marque
GNU/Linux Magazine
Numéro
192
Mois de parution
avril 2016
Domaines


Résumé
Dans le précédent article, nous avons déjà présenté un ensemble de conventions et d'astuces permettant d'améliorer grandement la lisibilité et la maintenance de scripts Bash. Dans ce second article, nous allons aller encore plus loin et discuter de nombreux aspects de l'interpréteur, et de la syntaxe qui lui est associée, qui assureront la robustesse de vos scripts.

Cet article couvre un ensemble de techniques et de mécanismes spécifiques à Bash qui, utilisés systématiquement, apportent beaucoup de robustesse et de fiabilité à l'exécution des scripts.

Sans surprise, le premier point que nous allons évoquer dans cet article concerne la plus primitive des primitives de la programmation : les variables. Nous étudierons ensuite un ensemble de techniques permettant de gérer proprement les erreurs lors de l'exécution du script, avant de finir par une section « rubrique à brac », contenant une série d'astuces et de techniques en tout genre.

1. Protéger ses variables

1.1 Overquoting...

Vous en avez probablement déjà fait l'expérience, les scripts shell sont relativement fragiles. Il suffit parfois de passer un mauvais argument pour obtenir un comportement totalement différent de celui qu'on attendait. Un exemple rapide à l'aide de la commande cp :

function copy() {

local src=${1}

local dest=${2}


cp ${src} ${dest}

}


$ copy a b

$ copy a "b d"...

Cet article est réservé aux abonnés. Il vous reste 94% à découvrir.
à partir de 21,65€ HT/mois/lecteur pour un accès 5 lecteurs à toute la plateforme
J'en profite


Articles qui pourraient vous intéresser...

Déploiements reproductibles dans le temps avec GNU Guix

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
113
Mois de parution
mars 2021
Domaines
Résumé

Pour la recherche scientifique comme pour d'autres domaines, on a souvent besoin de reproduire un environnement logiciel à l'identique non seulement sur différentes machines, mais aussi à différents instants dans le temps. Docker et les machines virtuelles, qui sont souvent la solution choisie pour répondre à ce besoin, ont des limitations qu’il est facile de ne pas voir. Cet article illustre l’utilisation de GNU Guix pour des déploiements reproductibles, au bit près, dans l’espace et dans le temps.

Générer et manipuler des images ISO

Magazine
Marque
Linux Pratique
Numéro
124
Mois de parution
mars 2021
Domaines
Résumé

Quand bien même leur usage s’est quelque peu atténué au profit d’autres supports de stockage de masse depuis plusieurs années, les CD-ROM et autres DVD-ROM ont toujours une utilité en 2020 : stockage de données, création de disques bootables (pour distributions GNU/Linux entre autres), disques multimédias... S’il est vrai que sa durée de vie a été surestimée à une époque (peut-être pour favoriser son utilisation), la bonne vieille galette n’est pas encore morte, et il lui reste encore de beaux jours à vivre.

Gérez vos projets Git en mode graphique avec GitKraken

Magazine
Marque
Linux Pratique
Numéro
124
Mois de parution
mars 2021
Domaines
Résumé

Je vous ai précédemment présenté GitLab [0], une forge logicielle utilisant Git vous permettant une gestion globale de vos projets en équipe. Comme nous l’avions vu, une connaissance minimale de Git était nécessaire pour l’utilisation de GitLab. Certains de vos collaborateurs ne sont peut-être pas à l’aise avec la ligne de commandes, ne veulent tout simplement pas l’utiliser ou encore ne veulent pas apprendre la syntaxe des commandes Git. GitKraken [1] est fait pour eux. Il leur permettra de réaliser toutes les opérations Git à l’aide d’une interface graphique.

Le DevOps en pratique

Magazine
Marque
Linux Pratique
Numéro
124
Mois de parution
mars 2021
Domaines
Résumé

Aujourd’hui, le terme DevOps est au cœur de la transformation digitale. En effet, lorsqu’on évoque l’agilité dans le cycle de vie de développement logiciel, on est amené à pratiquer des méthodologies permettant d’accélérer d’une part le processus de développement et de fiabiliser la production logicielle d’un autre côté. Parmi ces méthodologies (Scrum, Kanban…), le DevOps est certainement celle qui a été adopté par la plupart des entreprises ayant comme activité principale ou annexe, la digitalisation de leur système d’information pour faire face au défi que représente l’essor des technologies numériques. Dans cet article, nous ferons un premier tour d’horizon de la partie outillage du DevOps. Il existe une panoplie d’outils et il est impossible de les évoquer tous dans un seul article, car chaque outil nécessiterait un ouvrage à part entière.