ShellCheck - Un outil qui montre des avertissements et des suggestions pour les scripts de coquille

ShellCheck - Un outil qui montre des avertissements et des suggestions pour les scripts de coquille

Chricha est un outil d'analyse statique qui montre des avertissements et des suggestions concernant le mauvais code dans les scripts Shell Bash / Sh. Il peut être utilisé de plusieurs manières: sur le Web en collant votre script de shell dans un éditeur en ligne (Ace - un éditeur de code autonome écrit en javascript) en https: // www.chricha.net (il est toujours synchronisé avec le dernier engagement Git, et est le moyen le plus simple de donner un coup de coquille) pour une rétroaction instantanée.

Alternativement, vous pouvez l'installer sur votre machine et l'exécuter à partir du terminal, l'intégrer avec votre éditeur de texte ainsi que dans vos suites de construction ou de test.

Il y a trois choses que Shellcheck fait principalement:

  • Il souligne et explique les problèmes de syntaxe des débutants typiques qui provoquent un shell à donner des messages d'erreur cryptiques.
  • Il souligne et explique des problèmes sémantiques de niveau intermédiaire typiques qui font que le shell se comporte étrangement et contre-intuitif.
  • Il souligne également les mises en garde subtiles, les cas d'angle et les pièges qui peuvent faire échouer le script de travail d'un utilisateur avancé dans des circonstances futures.

Dans cet article, nous montrerons comment installer et utiliser ShellCheck de les différentes manières pour trouver des bogues ou un mauvais code dans vos scripts de shell dans Linux.

Comment installer et utiliser le chèque de coquille dans Linux

Chricha peut être facilement installé localement via votre gestionnaire de packages comme indiqué.

Sur Debian / Ubuntu

# apt-get installer shellcheck 

Sur Rhel / Centos

# yum -y installer ePEL-Release # yum installchetcheck 

Sur Fedora

# DNF Installer Shellcheck 

Une fois que ShellCheck installé, jetons un coup d'œil à utiliser ShellCheck dans les différentes méthodes que nous avons mentionnées précédemment.

Utilisation de ShellCheck du Web

Aller sur https: // www.chricha.nettez et collez votre script dans l'éditeur Ace fourni, vous afficherez la sortie en bas de l'éditeur comme indiqué dans la capture d'écran ci-dessous.

Dans l'exemple suivant, le script de shell de test se compose des lignes suivantes:

#!/ bin / bash #declare variables minargs = 2 e_notroot = 50 e_minargs = 100 #echo valeurs des variables echo $ minargs echo $ e_nonroot exit 0; 
ShellCheck - outil d'analyse de script de shell en ligne

De la capture d'écran ci-dessus, les deux premières variables E_notroot et E_minargs ont été déclarés mais ne sont pas utilisés, Shellcheck les rapporte comme des «erreurs suggestives»:

SC2034: E_notroot semble inutilisé. Vérifiez-le ou exportez-le. SC2034: E_minargs semble inutilisé. Vérifiez-le ou exportez-le. 

Puis deuxièmement, le mauvais nom (dans l'instruction echo $ e_nonroot) avait l'habitude de Écho variable e_notroot, C'est pourquoi ShellCheck montre l'erreur:

SC2153: mal orthographié possible: E_NONROOT peut ne pas être attribué, mais E_notroot est 

Encore une fois, lorsque vous regardez les commandes d'écho, les variables n'ont pas été doublées (aident à empêcher le globbing et la division des mots), donc la vérification de la coquille montre l'avertissement:

SC2086: Double devis pour empêcher le globe et la division des mots. 

Utilisation du chèque d'obus du terminal

Vous pouvez également exécuter ShellCheck à partir de la ligne de commande, nous utiliserons le même script shell ci-dessus que suit:

$ Test Shellcheck.shot 
ShellCheck - vérifie le mauvais code dans les scripts shell

Utilisation de ShellCheck de l'éditeur de texte

Vous pouvez également afficher Chricha Suggestions et avertissements directement dans une variété d'éditeurs, c'est probablement un moyen plus efficace d'utiliser ShellCheck, une fois que vous avez enregistré un fichier, il vous montre des erreurs dans le code.

Dans Vigueur, Utilisez de la bière ou du syntastique (nous utiliserons ceci):

Commencez par installer Agent pathogène afin qu'il soit facile d'installer syntastique. Exécutez les commandes ci-dessous pour obtenir le agent pathogène.vigueur fichier et les répertoires dont il a besoin:

# mkdir -p ~ /.vim / autoload ~ /.vim / bundle && curl -lsso ~ /.VIM / Autoload / pathogène.vim https: // tpo.PE / pathogène.vigueur 

Puis ajoutez ceci à votre ~ /.vimrc déposer:

Exécuter un pathogène # infecte () 

Une fois que vous avez installé un pathogène, et vous pouvez maintenant mettre le syntastique ~ /.vim / bundle comme suit:

# CD ~ /.vim / bundle && git clone - Depth = 1 https: // github.com / vim-syntastique / syntastique.git 

Ensuite, fermez VIM et recommencez-le pour le recharger, puis tapez la commande ci-dessous:

: Helptags 

Si tout va bien, tu devrais avoir Chricha intégré avec Vigueur, Les captures d'écran suivantes montrent comment cela fonctionne en utilisant le même script ci-dessus.

Vérifiez le code de script Bad Shell dans VIM

Dans le cas où vous obtenez une erreur après avoir suivi les étapes ci-dessus, vous n'avez peut-être pas installé Agent pathogène correctement. Refaire les étapes, mais cela garantit que vous avez fait ce qui suit:

  • Créé à la fois le ~ /.VIM / AUTOLOAD et ~ /.vim / bundle répertoires.
  • Ajout de la ligne d'exécution de pathogène # infecte () à votre ~ /.vimrc déposer.
  • A fait le clone git de syntastique à l'intérieur ~ /.vim / bundle.
  • Utilisez les autorisations appropriées pour accéder à tous les répertoires ci-dessus.

Vous pouvez également utiliser d'autres éditeurs pour vérifier le mauvais code dans les scripts shell comme:

  • Dans Emacs, utiliser Chèque.
  • En sublime, employez de sublimetinter.
  • Dans Atom, utilisez Linter.
  • Dans la plupart des autres éditeurs, utilisez la compatibilité des erreurs GCC.

Note: Utilisez la galerie de mauvais code pour réaliser plus de coquille.

ShellCheck GitHub Repository: https: // github.com / koalaman / coquille

C'est ça! Dans cet article, nous avons montré comment installer et utiliser Chricha Pour trouver des bogues ou un mauvais code dans vos scripts de shell dans Linux. Partagez vos réflexions avec nous via la section des commentaires ci-dessous.

Connaissez-vous d'autres outils similaires? Si oui, partagez également des informations à leur sujet dans les commentaires.