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é!