GNU/Linux >> Znalost Linux >  >> Linux

ShellCheck – bezplatná utilita k nalezení chyb ve vašich skriptech Shell

Jste začínající programátor a právě jste napsali jednoduchý shell skript. Chtěli jste zkontrolovat, zda v něm nejsou nějaké chyby, ale nevíte jak? Bez obav! Nyní můžete snadno najít chyby ve skriptech shellu pomocí ShellCheck .

ShellCheck je nástroj pro statickou analýzu pro shell skripty. ShellCheck analyzuje skript Shell a okamžitě zobrazí, pokud jsou ve vašich skriptech Shell nějaké chyby. Je napsán v jazyku Haskell a je volně distribuován pod licencí GPLv3.

ShellCheck analyzuje skript a provede následující:

  • Zkontrolujte, zda nejsou citace nesprávné,
  • Zkontrolujte, zda nejsou testovací prohlášení nesprávná,
  • Rozpoznat nesprávné příkazy,
  • Rozpoznat chyby syntaxe,
  • Doporučujeme vám zlepšit styl skriptu,
  • Rozpoznat překlepy,
  • Zlepšete robustnost svého skriptu,
  • A zkontrolujte několik dalších problémů.

K opravě chyb ve skriptech nepotřebujete žádnou pomoc odborníka. Stačí otevřít ShellCheck, vložit skript a bum! ShellCheck můžete používat online nebo offline. V tomto krátkém tutoriálu vám ukážu obojí!

ShellCheck na webu

Skripty si můžete zkontrolovat online na jakékoli webové stránce ShellCheck.

Otevřete webový prohlížeč a přejděte na následující odkaz.

Vložte do něj svůj shell skript pro okamžitou zpětnou vazbu.

Ukázkový výstup:

Poznámka: Skript použitý v tomto příkladu jsem nenapsal já. Právě jsem to našel online, abych otestoval ShellCheck.

Případně si jej můžete nainstalovat do svého Linuxového boxu a otestovat svůj skript kdykoli offline.

Nainstalujte ShellCheck v systému Linux

ShellCheck je součástí balíčku pro většinu operačních systémů Linux. Můžete jej snadno nainstalovat pomocí správce balíčků vaší distribuce, jak je znázorněno níže.

Na Arch Linuxu a jeho derivátech:

$ sudo pacman -S shellcheck

V systémech Debian, Ubuntu a Linux Mint jej nainstalujte spuštěním následujícího příkazu:

$ sudo apt-get install shellcheck

Na RHEL CentOS povolí úložiště EPEL:

$ sudo yum -y install epel-release

A nainstalujte shellcheck:

$ sudo yum install ShellCheck

Na systémech Fedora:

$ sudo dnf install ShellCheck

Na openSUSE (edice Tumbleweed) spusťte následující příkaz:

$ sudo zypper in ShellCheck

U ostatních distribucí se podívejte na stránku oficiální instalace .

Najděte chyby ve skriptech Shell pomocí ShellCheck v systému Linux

Po instalaci otevřete Terminál a spusťte následující příkaz k otestování skriptů.

shellcheck <path_of_your_script>

Příklad: 

$ shellcheck myscript.sh

Ukázkový výstup:

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.

Jak vidíte ve výše uvedeném výstupu, ShellCheck označuje návrhy na řádku 1 a řádku 6.

Mějte prosím na paměti, že ShellCheck neopraví chyby ve skriptech automaticky. Místo toho bude dávat varování a návrhy pro vaše shell skripty.

Nástroj ShellCheck by mohl být užitečný pro každého, kdo se chce naučit skriptování Shell. Stačí napsat skript, zkopírovat/vložit kód do ShellCheck a najít chyby. Je to tak jednoduché!


Linux
  1. Povolit skripty Setuid On Shell?

  2. Asociativní pole ve skriptech Shell?

  3. Spouštět skripty Shell přes web?

  1. Jak používat vstupy ve skriptech shellu

  2. Správné zamykání skriptů Shell?

  3. Shell Test najít vzor v řetězci?

  1. Skrýváte heslo ve skriptech Shell?

  2. Rozdělení dlouhých příkazů ve skriptech Shell?

  3. Parametry příkazového řádku ve skriptech shellu