Vous êtes un programmeur en herbe et vous venez d'écrire un simple script shell. Vous vouliez vérifier s'il y avait des bugs dedans, mais vous ne savez pas comment ? Pas de soucis! Désormais, vous pouvez facilement trouver des bogues dans vos scripts shell à l'aide de ShellCheck .
ShellCheck est un outil d'analyse statique pour les scripts shell. ShellCheck analysera le script shell et affichera instantanément s'il y a des erreurs dans vos scripts shell. Il est écrit en langage Haskell et distribué librement sous GPLv3.
ShellCheck analysera le script et procédera comme suit :
- Vérifiez les citations incorrectes
- Vérifiez les déclarations de test incorrectes,
- Reconnaître les commandes incorrectes,
- Reconnaître les erreurs de syntaxe,
- Vous suggérer d'améliorer le style du script,
- Reconnaître les fautes de frappe,
- Améliorez la robustesse de votre script,
- Et vérifiez quelques autres problèmes.
Vous n'avez pas besoin de l'aide d'un expert pour corriger les bogues dans vos scripts. Ouvrez simplement ShellCheck, collez votre script et boum ! Vous pouvez utiliser ShellCheck en ligne ou hors ligne. Dans ce bref tutoriel, je vais vous montrer les deux !
ShellCheck sur le Web
Vous pouvez vérifier les scripts en ligne à tout moment en visitant le site Web ShellCheck.
Ouvrez votre navigateur Web et accédez au lien suivant.
Collez-y votre script shell pour un retour instantané.
Exemple de résultat :
Remarque : Je n'ai pas écrit le script utilisé dans cet exemple. Je viens de le trouver en ligne pour tester ShellCheck.
Alternativement, vous pouvez l'installer sur votre machine Linux et tester votre script à tout moment hors ligne.
Installer ShellCheck sur Linux
ShellCheck est fourni pour la plupart des systèmes d'exploitation Linux. Vous pouvez facilement l'installer à l'aide du gestionnaire de packages de votre distribution, comme indiqué ci-dessous.
Sur Arch Linux et ses dérivés :
$ sudo pacman -S shellcheck
Sur Debian, Ubuntu, Linux Mint, exécutez la commande suivante pour l'installer :
$ sudo apt-get install shellcheck
Sur RHEL, CentOS active le référentiel EPEL :
$ sudo yum -y install epel-release
Et installez shellcheck :
$ sudo yum install ShellCheck
Sur les systèmes Fedora :
$ sudo dnf install ShellCheck
Sur openSUSE (édition Tumbleweed), exécutez la commande suivante :
$ sudo zypper in ShellCheck
Pour les autres distributions, consultez la page d'installation officielle .
Trouvez des bogues dans vos scripts Shell à l'aide de ShellCheck sous Linux
Une fois installé, ouvrez Terminal et exécutez la commande suivante pour tester vos scripts.
shellcheck <path_of_your_script>
Exemple :
$ shellcheck myscript.sh
Exemple de résultat :
In myscript.sh line 1: # This script displays the date, time, username and ^-- SC2148: Tips depend on target shell and yours is unknown. Add a shebang. In myscript.sh line 6: echo "Your username is: `whoami` \\n" ^-- SC2006: Use $(..) instead of legacy `..`. ^-- SC2028: echo won't expand escape sequences. Consider printf.
Comme vous le voyez dans la sortie ci-dessus, ShellCheck indique les suggestions aux lignes 1 et 6.
Veuillez noter que ShellCheck ne corrigera pas automatiquement les erreurs dans les scripts. Au lieu de cela, il donnera des avertissements et des suggestions pour vos scripts shell.
L'utilitaire ShellCheck pourrait être utile à quiconque souhaite apprendre les scripts Shell. Écrivez simplement un script, copiez/collez le code dans ShellCheck et trouvez les erreurs. C'est aussi simple que ça !