[ Linux ] ShellCheck

 dans Actus, Failles, Linux, OSX, Outils, Sécurité, Serveur

ShellCheck, vous ne connaissez pas ?

C’est un outil qui permet de vous faire une analyse des potentiels erreurs de vos scripts développés en SH/BASH. L’outil est principalement destiné aux débutants mais aussi qu’aux personnes compétentes. Il retourne un message d’erreur (assez explicite) ou si d’un comportement étrange sur vos scripts.

Si votre script possède une erreur, le shell vous retournera bien évidemment une erreur mais sans plus de détails certaines fois. C’est à ce moment que l’outil ShellCheck fait son entrée puisqu’il pourra vous donner plus de détails sur cette erreur (en gros, il vous dira pourquoi il y a une erreur et non pas simplement la ligne qui pose problème).

ShellCheck en ligne

Sachez que la version en ligne est toujours synchronisé avec le dernier GIT commit, donc toujours à jour !

Il faut vous rendre sur le site « www.shellcheck.net » et de copier-coller son code afin d’obtenir un test immédiat et automatique ! La version en ligne est très pratique aux débutants puisque aucune installation n’est requise sur le poste.

ShellCheck en local

Si vous n’aimez pas l’interface en ligne, sachez qu’il est possible de l’installer directement sur son poste.
Si vous avez cabal qui est installé, vous pouvez le faire avec :

cabal install shellcheck

Personnellement je n’ai pas utilisé cette méthode mais tout simplement avec les packages de mon système (Fedora) :

yum install shellcheck

ShellCheck depuis l’éditeur

ShellCheck est également disponible dans votre éditeur ! Cela vous permet d’afficher directement les erreurs en cas d’erreur. Vous le retrouverez dans Syntastic pour Vim et Flycheck pourEmacs.

Bref, je vous recommande de tester la version en ligne www.shellcheck.net (en plus l’adresse est assez facile à retenir) et si l’outil vous plait vraiment d’en faire une installation sur votre poste. C’est le genre d’outil qui est toujours utile 🙂
Vous n’avez plus d’excuse pour faire des erreurs dans vos scripts maintenant ! Bon développement 🙂
Articles recommandés