GNU/Linux >> Linux Esercitazione >  >> Linux

ShellCheck:un'utilità gratuita per trovare bug negli script della shell

Sei un programmatore in erba e hai appena scritto un semplice script di shell. Volevi controllare se ci sono dei bug in esso, ma non sai come? Nessun problema! Ora puoi trovare facilmente i bug negli script della tua shell usando ShellCheck .

ShellCheck è uno strumento di analisi statica per script di shell. ShellCheck analizzerà lo script della shell e visualizzerà immediatamente se ci sono errori negli script della shell. È scritto in lingua Haskell e distribuito gratuitamente sotto GPLv3.

ShellCheck analizzerà lo script e farà quanto segue:

  • Verifica la presenza di citazioni errate,
  • Verifica la presenza di dichiarazioni di prova errate
  • Riconosci i comandi errati,
  • Riconosci gli errori di sintassi,
  • Ti suggerisco di migliorare lo stile del copione,
  • Riconosci gli errori di battitura
  • Migliora la robustezza del tuo script,
  • E controlla alcuni altri problemi.

Non hai bisogno dell'aiuto di alcun esperto per correggere i bug nei tuoi script. Basta aprire ShellCheck, incollare il tuo script e boom! Puoi utilizzare ShellCheck sia online che offline. In questo breve tutorial vi mostrerò entrambi!

ShellCheck sul Web

Puoi controllare gli script online in qualsiasi momento visitando il sito Web ShellCheck.

Apri il tuo browser web e vai al seguente link.

Incolla lo script della shell al suo interno per un feedback immediato.

Risultato di esempio:

Nota: Non ho scritto lo script utilizzato in questo esempio. L'ho appena trovato online per testare ShellCheck.

In alternativa, puoi installarlo sul tuo box Linux e testare il tuo script in qualsiasi momento offline.

Installa ShellCheck su Linux

ShellCheck è incluso nella maggior parte dei sistemi operativi Linux. Puoi installarlo facilmente utilizzando il gestore di pacchetti della tua distribuzione come mostrato di seguito.

Su Arch Linux e suoi derivati:

$ sudo pacman -S shellcheck

Su Debian, Ubuntu, Linux Mint, esegui il seguente comando per installarlo:

$ sudo apt-get install shellcheck

Su RHEL, CentOS abilita il repository EPEL:

$ sudo yum -y install epel-release

E installa shellcheck:

$ sudo yum install ShellCheck

Sui sistemi Fedora:

$ sudo dnf install ShellCheck

Su openSUSE (edizione Tumbleweed), esegui il comando seguente:

$ sudo zypper in ShellCheck

Per altre distribuzioni, controlla la pagina di installazione ufficiale .

Trova bug negli script della shell utilizzando ShellCheck su Linux

Una volta installato, apri Terminale ed esegui il seguente comando per testare i tuoi script.

shellcheck <path_of_your_script>

Esempio: 

$ shellcheck myscript.sh

Risultato di esempio:

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.

Come puoi vedere nell'output sopra, ShellCheck indica i suggerimenti alla riga 1 e alla riga 6.

Tieni presente che ShellCheck non risolverà automaticamente gli errori negli script. Invece, fornirà avvisi e suggerimenti per gli script della shell.

L'utilità ShellCheck potrebbe essere utile per chiunque voglia imparare lo scripting Shell. Basta scrivere uno script, copiare/incollare il codice in ShellCheck e trovare gli errori. È così semplice!


Linux
  1. Come utilizzare gli input negli script della shell

  2. Consenti Setuid sugli script della shell?

  3. Array associativi negli script della shell?

  4. Blocco corretto negli script della shell?

  5. Shell test per trovare un motivo in una stringa?

Schock? No, ShellCheck! Trova i bug nei tuoi script.

Array negli script di shell

Come utilizzare if-else negli script della shell?

Comprendere il ciclo for negli script della shell

Il ciclo while negli script della shell

Trova la dimensione della RAM in Linux