Comment déboguer des scripts Linux Bash avec ShellCheck
Vous rencontrez des problèmes avec un script bash que vous avez écrit pour votre PC Linux ? Au lieu de parcourir une myriade de threads sur StackExchange pour obtenir de l’aide à la programmation, envisagez d’utiliser l’outil ShellCheck pour déboguer les scripts Linux Bash et trouver automatiquement les erreurs dans votre code.
Obtenez ShellCheck
ShellCheck est un outil utile, mais il n’est pas livré avec votre système d’exploitation Linux prêt à l’emploi. Au lieu de cela, si vous souhaitez l’utiliser, vous devrez d’abord l’installer. Dans ce didacticiel, nous expliquerons comment installer ShellCheck à partir de diverses sources logicielles officielles. De plus, nous vous montrerons également comment faire fonctionner le programme via le binaire générique Linux.
Ouvrez une fenêtre de terminal et mettez à jour vos packages. Suivez ensuite les instructions qui s’appliquent à votre système d’exploitation Linux.
Ubuntu
ShellCheck se trouve dans les sources officielles du logiciel Ubuntu, il est donc assez facile de l’installer. Dans un terminal, utilisez le gestionnaire de packages Apt et obtenez la dernière version de ShellCheck opérationnelle.
sudo apt installer shellcheck
Debian
Debian Stable a une ancienne version de ShellCheck prête à être installée par les utilisateurs. Notez que cette version est conservée en raison de la façon dont Debian fait les choses.
Remarque: Voulez-vous une version plus récente du programme ShellCheck? Suivez notre guide et apprenez comment obtenir de nouveaux logiciels sur Debian .
sudo apt-get install shellcheck
Arch Linux
Pour obtenir ShellCheck sur Arch Linux, vous devez d’abord activer le référentiel de logiciels «Communauté». L’activation de «Communauté» nécessite la modification du fichier Pacman.conf. Pour modifier le fichier, ouvrez Pacman.conf dans Nano.
sudo nano /etc/pacman.conf
Faites défiler (à l’aide des touches fléchées) et recherchez la section «Communauté» du fichier. Supprimez toutes les instances du symbole # (environ trois lignes). Enregistrez ensuite les modifications en appuyant sur le bouton Ctrl + O.
Une fois les nouvelles modifications apportées à Pacman.conf résolues, appuyez sur Ctrl + X pour fermer Nano. Puis resynchronisez Pacman pour configurer l’accès au référentiel Arch Linux «Community».
sudo pacman -Syyuu
Enfin, installez ShellCheck sur Arch Linux avec:
sudo pacman -S shellcheck
Feutre
Pour obtenir l’outil d’analyse de script ShellCheck sur Fedora Linux, ouvrez un terminal et utilisez l’outil de gestion des packages DNF.
sudo dnf installer ShellCheck
OpenSUSE
L’installation de ShellCheck sur OpenSUSE ne nécessite aucune étape particulière, car elle se trouve dans les principales sources logicielles de la distribution. Pour l’obtenir, entrez la commande suivante du package Zypper dans une fenêtre de terminal.
sudo zypper installer ShellCheck
Linux générique
Les utilisateurs de distributions Linux moins connues qui souhaitent accéder à l’outil d’analyse de script ShellCheck doivent installer la version binaire universelle. Heureusement, cette version binaire est facile à installer et ne nécessite aucun bricolage du code source. Pour le faire fonctionner, veuillez suivre les étapes ci-dessous.
Étape 1: Exportez la version de ShellCheck que vous êtes sur le point de télécharger dans votre environnement de terminal.
export scversion = " stable " # ou "v0.4.7", ou "latest"
Étape 2: avec l’ outil de téléchargement wget , obtenez la dernière version binaire de ShellCheck.
wget " https://storage.googleapis.com/shellcheck/shellcheck- $ {scversion} .linux.x86_64.tar.xz "
Étape 3: Extrayez le fichier ShellCheck TarXZ avec la commande tar .
tar --xz -xvf shellcheck- " $ {scversion} " .linux.x86_64.tar.xz
Étape 4: Installez ShellCheck sur votre PC Linux avec la commande cp .
cp shellcheck- " $ {scversion} " / shellcheck / usr / bin /
Déboguer des scripts avec ShellCheck
L’objectif principal de ShellCheck est de revoir un script (généralement Bash), de détecter les commandes mal utilisées et de proposer des corrections. Pour une utilisation de base, procédez comme suit.
Tout d’abord, dirigez-vous vers le CD où le script que vous souhaitez vérifier se trouve sur votre PC Linux. Dans ce tutoriel, notre script se trouve dans ~ / shell-scripts . Le vôtre peut différer.
cd ~ / scripts-shell
Exécutez la commande ls et affichez tous les fichiers du répertoire en cours.
Remarque: Si vous avez l’intention d’utiliser ShellCheck dans un répertoire avec plusieurs types de fichiers, il est judicieux de combiner grep et ls ensemble. L’utilisation conjointe de ces deux commandes vous permet de filtrer tous les fichiers non script.
ls
Ou combinez-le avec grep pour ne voir que les fichiers de script.
ls | grep ".sh" ls | grep ".bash"
Recherchez pour le nom d’un fichier de script dans l’ indicateur ls et mettez en surbrillance le nom du fichier avec la souris. Lorsque vous êtes prêt, exécutez-le via ShellCheck et vérifiez votre code.
>> shellcheck name-of-file.sh
ou
shellcheck nom-fichier.bash
>> Immédiatement après l’ exécution de la commande shellcheck , il détectera les problèmes avec votre code et le placera à l’ invite du terminal. Lisez et apprenez comment améliorer votre programmation en suivant les suggestions qu’elle fournit.
Enregistrer le rapport ShellCheck dans un fichier
Obtenir un rapport instantané dans le terminal pour votre horaire de bash est très utile, mais vous risquez de le perdre si vous fermez le terminal. Pour éviter de perdre votre rapport Shellcheck, nous vous recommandons d’enregistrer la sortie dans un fichier texte, en exécutant le programme en combinaison avec la fonction >> dans le terminal.
shellcheck name-of-file.sh >> ~ / Documents / shellcheck-report-name-of-file.sh
ou
shellcheck nom-fichier.bash >> ~ / Documents / shellcheck-rapport-nom-fichier-fichier.bash
Consultez votre rapport enregistré dans le terminal via la commande cat .
>> cat ~ / Documents / shellcheck-report-name-of-file.sh | plus
ou
cat ~ / Documents / shellcheck-rapport-nom-de-fichier.bash | plus