Trova facilmente i bug negli script di shell con ShellCheck

Breve: ShellCheck è un pratico strumento di utilità che ti avvisa di possibili sintassi e semplici errori logici, senza eseguire. Puoi anche usarlo con l'editor di testo Atom.

Come tutti sappiamo, il terminale è una parte inseparabile del sistema Linux. E dietro a tutto ciò che facciamo nel terminale, c'è la shell - un programma che interagisce con il sistema operativo stesso. Ogni comando che entriamo nel terminale viene in definitiva interpretato dalla shell e quindi agisce di conseguenza.

Shell come linguaggio di programmazione

C'è di più da shell però. Una shell UNIX non è solo un interprete di comandi, ma anche un linguaggio di programmazione! Shell come linguaggio di programmazione fornisce variabili, costrutti di controllo del flusso, citazioni e funzioni.

Un file contenente comandi e codici shell è chiamato Shell Script. Quindi, puoi eseguire varie attività complesse e automazione per il tuo sistema usando gli script di shell.

Comunque, come esseri umani, commettiamo errori. Quindi, ovviamente, mentre scrivete gli script di shell, commettete anche degli errori, come errori sintattici, errori di battitura, cattivi schemi, ecc. Qui, sapremo dello strumento - ShellCheck - che ci aiuterà in questo.

ShellCheck

ShellCheck è uno strumento di analisi statico per gli script della shell. È open source e sviluppato principalmente per gli script di Bash o Sh . Ora ti potresti chiedere, che diamine è l' analisi statica ? Bene, l'analisi statica è un metodo per eseguire il debug di un programma esaminando i suoi codici (statici) anziché eseguirlo / eseguirlo.

Diamo un'occhiata a quali tipi di cose controlla ShellCheck:

  • Citando: Shell ha modi specifici per usare variabili e stringhe. Se li hai usati in modo errato, ShellCheck ti avviserà.
  • Conditionals: controllerà gli usi errati delle dichiarazioni di test.
  • Comandi frequentemente non utilizzati: ShellCheck ti avviserà in caso di comandi di shell usati in modo errato.
  • Errori comuni per principianti: vari errori di sintassi che gli utenti della shell principianti fanno in quanto Shell utilizza varie regole di sintassi rigorose che differiscono dagli altri linguaggi di programmazione. Ad esempio: non puoi inserire spazi attorno al segno = durante la dichiarazione delle variabili. La maggior parte delle lingue non interessa, ma qui conta.
  • Stile: ShellCheck fornirà suggerimenti per migliorare lo stile del tuo codice.
  • Errori di Data & Typing: varie questioni relative ai dati e alla digitazione.
  • Robustezza, portabilità e altro : ShellCheck fornirà suggerimenti per rendere robusti gli script, ti avverte dei problemi di portabilità con diverse shell (bash, sh, ksh, dash ecc.) E varie altre cose.

Per documentazione e varie informazioni utili, non dimenticare di controllare il progetto ShellCheck GitHub:

ShellCheck su GitHub

Installare ShellCheck

Per l'utilizzo offline, è possibile installare il pacchetto ShellCheck sul proprio sistema. Su Ubuntu, inserisci il seguente comando nel tuo terminale:

 sudo apt install shellcheck 

Per altre distribuzioni, consultare la sezione Installazione di GitHub Leggimi.

Se si utilizza l'editor di testo Atom, è anche possibile utilizzare ShellCheck all'interno della finestra dell'editor al volo. Basta installare i pacchetti atom necessari per ShellCheck:

 apm install linter linter-shellcheck 

ShellCheck supporta anche altri editor, come - Vim, Emacs, Sublime ecc. È possibile trovare un elenco completo nella sezione Leggimi di GitHub.

Utilizzando ShellCheck

in linea

Puoi usare ShellCheck online senza installare nulla sul tuo sistema (avrai comunque bisogno di un browser web, haha!).

  • Copia i codici del tuo script shell.
  • Visita il sito web ShellCheck.
  • Incolla i tuoi codici nell'editor.
  • Mostrerà l'output di ShellCheck.

Ecco un esempio:

Utilizzando ShellCheck online

Interfaccia della riga di comando

Dopo aver installato i pacchetti necessari per ShellCheck sul tuo sistema, puoi usarlo dal tuo terminale senza alcuna connettività di rete. Basta digitare il seguente comando:

 shellcheck 

Sostituisci la parte con il nome file dello script della shell.

ShellCheck Interfaccia a riga di comando

Estensioni dell'editor

Dopo aver installato le estensioni necessarie per l'editor di testo, puoi vedere l'output di ShellCheck al volo, senza eseguire manualmente il comando shellcheck . Ecco come appare nell'editor di Atom:

Atomo con Linter-ShellCheck

Vantaggi svantaggi

Che tu sia un esperto programmatore di shell o solo un principiante, hai tutto da guadagnare e niente da perdere usando ShellCheck. Ogni volta che si scrivono script di shell, controllarlo con ShellCheck, sarete in grado di rilevare errori e bug in anticipo e, nel complesso, essere più produttivi con Linux.


Hai mai provato a scrivere uno script di shell prima? Hai usato ShellCheck? Se l'hai fatto, come è stata la tua esperienza? Condividi con noi! :)

Raccomandato

10 consigli killer per velocizzare Ubuntu Linux
2019
Nascondi le cartelle e mostra i file nascosti in Ubuntu Linux
2019
TrueOS: una semplice distribuzione BSD per gli utenti desktop
2019