Bash, les bonnes pratiques

Magazine
Marque
GNU/Linux Magazine
Numéro
192
Mois de parution
avril 2016
Spécialité(s)


Résumé
À l'heure du DevOps et de l'« infrastructure as code », la conception de scripts Bash est loin d'avoir disparu, comme certains le pensaient il y a quelques années. Avec des besoins d'automatisation de plus en plus présents, mais aussi de plus en plus souvent placés entre les mains de développeurs plutôt que d'administrateurs système, de nombreux scripts sont produits, et jouent des rôles toujours plus critiques dans la maintenance des systèmes.Mais, paradoxalement, si ces développeurs sont souvent des experts sur leur langage de programmation, qu'il s'agisse de Java, C# ou autre Python, ils semblent souvent comme frappés d'amnésie quand ils implémentent leurs scripts Bash ! En fait, si la syntaxe de ce dernier est très permissive, et ses mécanismes d'interprétation très différents d'un langage de programmation dit « traditionnel », il n'en offre pas moins de nombreuses techniques et pratiques pour en assurer une exécution propre, saine et fiable – pourtant peu utilisées. Démonstration.


Cet article couvre un ensemble de bonnes pratiques et de techniques à utiliser lors de la conception de scripts Bash, pour leur assurer une exécution fiable et robuste.

Les scripts shell (Bash ou autres d'ailleurs) sont partout. On en trouve un peu à toutes les sauces, et dans l'ensemble, ils ne sont que rarement irréprochables, même du point de vue strictement technique. Cependant, ils font la plupart du temps le travail qu'on leur demande, et, s'ils n'y parviennent pas, on se contente généralement de les exécuter une nouvelle fois plutôt que de chercher à les rendre plus « imperméables » aux erreurs.

Leur manque de robustesse, de propreté ou même de certaines fonctionnalités n'est jamais réellement un problème, car ils ne sont que rarement exécutés. Généralement uniquement au démarrage d'une machine ou d'un serveur, ou même parfois encore plus rarement – par exemple lors d'une installation.

Dans ce genre de contexte, s'ils ne s'exécutent pas correctement,...

Cet article est réservé aux abonnés. Il vous reste 95% à découvrir.
S'abonner à Connect
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez chaque semaine un nouvel article premium
  • Consultez les nouveaux articles en avant-première
Je m'abonne


Article rédigé par

Par le(s) même(s) auteur(s)

Concevoir un outil Java en ligne de commande avec Quarkus

Magazine
Marque
GNU/Linux Magazine
HS n°
Numéro
117
Mois de parution
novembre 2021
Spécialité(s)
Résumé

Quarkus est un cadre d’exécution Java séduisant et dédié la réalisation de service ReST à la fois performant, léger et aisé à déployer. Grâce à une récente et audacieuse innovation, le framework permet désormais de créer des applications en ligne de commande. Démonstration par la pratique, dans cet article, de cette nouvelle et excitante fonctionnalité du projet.

Personnaliser Tomcat avec Ansible

Magazine
Marque
Linux Pratique
Numéro
128
Mois de parution
novembre 2021
Spécialité(s)
Résumé

Lors d’un précédent article, nous avons entièrement automatisé la mise en place d’un serveur Apache Tomcat à l’aide d’Ansible [1]. Dans celui-ci, nous reprenons là où nous nous sommes arrêtés, afin d’aller un peu loin et d’évoquer, en détail, comment personnaliser son installation un peu plus et configurer, de manière plus spécifique, le serveur web Java, cette fois-ci dans sa version supportée par Red Hat, nommée JBoss Web Server.

Déployer Tomcat avec Ansible

Magazine
Marque
Linux Pratique
Numéro
127
Mois de parution
septembre 2021
Spécialité(s)
Résumé

Ansible est un fabuleux outil pour automatiser la mise en place de systèmes. De son côté, Apache Tomcat est un très populaire serveur « web » Java. Voyons aujourd’hui comment ces deux technologies peuvent collaborer afin de vous permettre de créer vos environnements de développement comme de production, de la manière la plus rapide et efficace possible.

Les derniers articles Premiums

Les derniers articles Premium

Du graphisme dans un terminal ? Oui, avec sixel

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

On le voit de plus en plus, les outils en ligne de commandes s'étoffent peu à peu d'éléments graphiques sous la forme d'émojis UTF8. Plus qu'une simple décoration, cette pointe de « graphisme » dans un monde de texte apporte réellement un plus en termes d'expérience utilisateur et véhicule, de façon condensée, des informations utiles. Pour autant, cette façon de sortir du cadre purement textuel d'un terminal n'est en rien une nouveauté. Pour preuve, fin des années 80 DEC introduisait le VT340 supportant des graphismes en couleurs, et cette compatibilité existe toujours...

Game & Watch : utilisons judicieusement la mémoire

Magazine
Marque
Contenu Premium
Spécialité(s)
Résumé

Au terme de l'article précédent [1] concernant la transformation de la console Nintendo Game & Watch en plateforme de développement, nous nous sommes heurtés à un problème : les 128 Ko de flash intégrés au microcontrôleur STM32 sont une ressource précieuse, car en quantité réduite. Mais heureusement pour nous, le STM32H7B0 dispose d'une mémoire vive de taille conséquente (~ 1,2 Mo) et se trouve être connecté à une flash externe QSPI offrant autant d'espace. Pour pouvoir développer des codes plus étoffés, nous devons apprendre à utiliser ces deux ressources.

Les listes de lecture

8 article(s) - ajoutée le 01/07/2020
Découvrez notre sélection d'articles pour faire vos premiers pas avec les conteneurs, apprendre à les configurer et les utiliser au quotidien.
11 article(s) - ajoutée le 02/07/2020
Si vous recherchez quels sont les outils du DevOps et comment les utiliser, cette liste est faite pour vous.
8 article(s) - ajoutée le 02/07/2020
Il est essentiel d'effectuer des sauvegardes régulières de son travail pour éviter de perdre toutes ses données bêtement. De nombreux outils sont disponibles pour nous assister dans cette tâche.
Voir les 49 listes de lecture

Abonnez-vous maintenant

et profitez de tous les contenus en illimité

Je découvre les offres

Déjà abonné ? Connectez-vous