Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

ShellCheck - Contrôlez et améliorez la qualité de vos scripts Shell


#1

Publié initialement à : https://korben.info/shellcheck-controlez-et-ameliorez-la-qualite-de-vos-scripts-shell.html

Il est bon parfois d'avoir un violon d'Ingres, c'est-à-dire une passion à laquelle s'adonner pour se détendre. Pour certains, c'est le piano, pour d'autres la peinture ou l'écriture... Et pour d'autres encore, c'est la rédaction de scripts Shell.

Seulement, tout le monde ne née pas avec la science infuse, et il est normal de scripter un peu cracra, ou de faire des boulettes, qui plus est, si vous avez pour habitude de copiez-collez des choses en provenance des forums. Cela peut être dangereux d'ailleurs.

Heureusement, il y a ShellCheck, une application Linux / Unix qui permet de contrôler le contenu de vos scripts bash, de vous indiquer les corrections ou améliorations à apporter, et qui vous évitera de grosses prises de tête ou des boulettes parfois irrattrapables.

Pour l'installer sur votre machine Ubuntu, rien de plus simple :

sudo apt-get install shellcheck

Et si vous le souhaitez, il est possible de faire contrôler vos scripts via le site web https://www.shellcheck.net.

Bon scripting à vous !


#2

j’aime bien aussi https://github.com/mads-hartmann/bash-language-server avec :

Visual Studio Code ou atom (pas essayé)

dans l’interface installer le plug-in
“Bash IDE mads-hartmann.bash-ide-vscode”

mise en place des dépendances pour windows seulement

npm install --global --production windows-build-tools

mise en place du truc

npm i -g bash-language-server

npm a été installé chez moi par https://scoop.sh sur windows, sur mac au choix https://brew.sh ou https://macports.org


#3

Bonjour Korben,

Merci pour cet article. Perso, je connaissais déjà ShellCheck depuis quelques mois, et d’expérience, je dirais que dans quelques rares cas, je désapprouve les recommandations de l’outil, donc j’apprécie qu’il existe une option -e, pour lui demander de ne plus signaler tel ou tel type d’erreur : shellcheck monscript.sh -e 2086, par exemple.

Et puis, ce serait bien si tu pouvais remplacer la phrase cu-dessous :
“Seulement, tout le monde ne née pas avec la science infuse, […]” par :
“Seulement, tout le monde ne naît pas avec la science infuse, […]”, parce que ça pique un peu les yeux.
Merci, et continue comme ça.

B.P.