Comment déboguer les scripts Linux Bash avec ShellCheck

Comment déboguer les scripts Linux Bash avec ShellCheck

Avez-vous des problèmes avec un script Bash que vous avez écrit pour votre PC Linux ? Au lieu de parcourir d'innombrables threads sur StackExchange pour obtenir de l'aide sur la programmation, envisagez d'utiliser l'outil ShellCheck pour déboguer les scripts Linux Bash et rechercher automatiquement les erreurs dans votre code.

Obtenez ShellCheck

ShellCheck est un outil utile, mais il n'est pas fourni 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 verrons comment installer ShellCheck à partir de diverses sources logicielles officielles. De plus, nous vous montrerons également comment faire fonctionner le programme via le binaire Linux générique.

Ouvrez une fenêtre de terminal et mettez à jour vos packages. Ensuite, suivez les instructions qui correspondent à votre système d'exploitation Linux.

Ubuntu

ShellCheck se trouve dans les sources logicielles officielles d'Ubuntu, son installation est donc assez facile. Dans un terminal, utilisez le gestionnaire de packages Apt et faites fonctionner la dernière version de ShellCheck.

sudo apt installer shellcheck

Debian

Debian Stable a une ancienne version de ShellCheck prête à être installée par les utilisateurs. Gardez à l'esprit que cette version est retenue en raison de la façon dont Debian fait les choses.

Remarque : vous souhaitez une version plus récente du programme ShellCheck ? Suivez notre guide et découvrez comment obtenir des logiciels plus modernes 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 éditer le fichier, ouvrez Pacman.conf dans Nano.

sudo nano /etc/pacman.conf

Faites défiler (avec les touches fléchées) et trouvez la section "Communauté" du fichier. Supprimez toutes les instances du symbole # (environ trois lignes). Ensuite, enregistrez les modifications en appuyant sur le bouton Ctrl + O.

Avec les nouvelles modifications apportées à Pacman.conf, appuyez sur Ctrl + X pour fermer Nano. Ensuite, 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 de package DNF.

sudo dnf installer ShellCheck

OuvrirSUSE

L'installation de ShellCheck sur OpenSUSE ne nécessite aucune étape particulière, car c'est le cas dans les principales sources logicielles de la distribution. Pour l'obtenir, entrez la commande de package Zypper suivante 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 avec le code source. Pour le faire fonctionner, suivez les étapes ci-dessous!

Étape 1 :   exportez la version de ShellCheck que vous êtes sur le point de télécharger vers votre environnement de terminal.

export scversion= " stable "  # ou " v0.4.7 ", ou " dernier "

Étape 2 : à l'aide de l' outil de téléchargement wget , récupérez la dernière version binaire de ShellCheck.

wget " https://storage.googleapis.com/shellcheck/shellcheck- ${scversion} .linux.x86_64.tar.xz "

Étape 3 : extrayez l'archive 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 parcourir 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, 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 ~/shell-scripts

Exécutez la commande ls et affichez tous les fichiers du répertoire actuel.

Remarque : si vous avez l'intention d'utiliser ShellCheck dans un répertoire contenant plusieurs types de fichiers, il est conseillé de combiner  grep  et  ls  . L'utilisation conjointe de ces deux commandes vous permet de filtrer tous les fichiers non scriptés.

ls

Ou combinez-le avec grep pour afficher uniquement les fichiers de script.

ls | grep ".sh"
ls | grep ".bash"

Recherchez le nom d'un fichier de script dans l' invite ls et mettez le nom du fichier en surbrillance avec la souris. Lorsque vous êtes prêt, exécutez-le via ShellCheck et vérifiez votre code.

Comment déboguer les scripts Linux Bash avec ShellCheck

shellcheck nom-de-fichier.sh

ou

shellcheck nom-de-fichier.bash

Comment déboguer les scripts Linux Bash avec ShellCheck

Immédiatement après l' exécution de la commande shellcheck , elle détectera les problèmes avec votre code et le placera dans l'invite du terminal. Lisez et apprenez comment améliorer votre programmation en suivant les suggestions qu'il vous donne.

Enregistrer le rapport ShellCheck dans un fichier

Obtenir un rapport instantané dans le terminal pour votre programmation 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 nom-du-fichier.sh >> ~/Documents/shellcheck-report-name-of-file.sh

ou

shellcheck nom-du-fichier.bash >> ~/Documents/shellcheck-report-name-of-file.bash

Affichez votre rapport enregistré dans le terminal via la commande cat .

Comment déboguer les scripts Linux Bash avec ShellCheck

cat ~/Documents/shellcheck-report-name-of-file.sh | Suite

ou

cat ~/Documents/shellcheck-report-name-of-file.bash | Suite


Comment installer GitLab sur le serveur Ubuntu

Comment installer GitLab sur le serveur Ubuntu

Cherchez-vous à faire fonctionner GitLab sur votre serveur Ubuntu ? GitLab est une puissante alternative auto-hébergée aux services comme GitHub. Avec elle, vous pouvez

Sécuriser un serveur Ubuntu Linux avec SELinux

Sécuriser un serveur Ubuntu Linux avec SELinux

Découvrez comment ajouter une sécurité supplémentaire à votre serveur Ubuntu Linux en installant et en activant SELinux dessus.

Configurer NFS sur un serveur Linux avec Cockpit

Configurer NFS sur un serveur Linux avec Cockpit

Vous cherchez un moyen plus simple de monter des partages NFS sur votre serveur Linux ? Découvrez comment monter des partages NFS avec l'application Cockpit.

Comment mettre à niveau vers Ubuntu 22.04 LTS

Comment mettre à niveau vers Ubuntu 22.04 LTS

Le support à long terme d'Ubuntu 22.04 est là ! Découvrez comment mettre à niveau votre ordinateur de bureau ou portable vers la dernière version d'Ubuntu.

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment installer les derniers pilotes GPU Nvidia sur Linux

Comment transférer des fichiers vers un conteneur Docker

Comment transférer des fichiers vers un conteneur Docker

Besoin de transférer des fichiers vers votre conteneur Docker ? Avec l'outil Docker cp, vous pouvez facilement déplacer des fichiers vers et depuis des conteneurs.

Comment installer un fichier DEB sous Linux

Comment installer un fichier DEB sous Linux

Qu'est-ce qu'un fichier DEB ? Qu'est ce que tu fais avec? Découvrez les nombreuses façons d'installer des fichiers DEB sur votre PC Linux.

Comment faire fonctionner GOG Galaxy sous Linux

Comment faire fonctionner GOG Galaxy sous Linux

Possédez-vous des jeux sur GOG.com ? Vous souhaitez configurer le client GOG Galaxy sur votre PC Linux pour profiter de certains jeux vidéo ? Suivez ce guide comme nous le montrons

Comment installer Docker Engine sur CentOS

Comment installer Docker Engine sur CentOS

Docker Engine est un programme de conteneurisation ouvert pour Linux et d'autres plates-formes. Docker Engine gère des conteneurs autonomes qui fonctionnent comme

Comment regrouper tous vos chats en un seul avec Ferdi

Comment regrouper tous vos chats en un seul avec Ferdi

Êtes-vous fatigué d'installer Slack, Discord et de nombreux autres outils de productivité sur votre système Linux ? Souhaitez-vous qu'ils puissent tous être combinés en un seul