Jak ladit skripty Linux Bash pomocí ShellCheck

Photo of author

By etechblogcz

Hledáte pomoc s laděním Bash skriptů na Linuxu?

Potýkáte se s obtížemi při psaní skriptů pro váš Linuxový systém? Místo zdlouhavého hledání řešení na fórech, zkuste využít nástroj ShellCheck. Ten vám pomůže automaticky odhalit chyby ve vašem Bash skriptu a ušetří vám spoustu času.

Jak získat ShellCheck?

ShellCheck není standardní součástí Linuxu, proto je nutné ho nejprve nainstalovat. V tomto návodu se zaměříme na instalaci z různých oficiálních zdrojů a ukážeme si i postup pro instalaci pomocí obecného binárního souboru.

Nejprve otevřete terminál a aktualizujte seznam balíčků. Poté postupujte podle instrukcí pro vaši distribuci Linuxu.

Ubuntu

V Ubuntu je ShellCheck dostupný v oficiálních repozitářích, instalace je tedy velmi snadná. Jednoduše použijte správce balíčků apt:

sudo apt install shellcheck

Debian

V Debianu Stable je k dispozici starší verze ShellCheck. Berte na vědomí, že tato verze nemusí být nejnovější kvůli způsobu, jakým Debian spravuje balíčky. Pokud chcete novější verzi, podívejte se na návody, jak instalovat modernější software v Debianu.

sudo apt-get install shellcheck

Arch Linux

Pro instalaci ShellCheck v Arch Linuxu musíte nejdříve povolit repozitář „Community“ v konfiguračním souboru pacman.conf. Otevřete jej v textovém editoru Nano:

sudo nano /etc/pacman.conf

Pomocí kurzorových kláves najděte sekci „Community“ a odstraňte symbol # ze začátku příslušných řádků (obvykle tři řádky). Uložte změny pomocí Ctrl + O a zavřete editor Ctrl + X. Následně aktualizujte databázi balíčků:

sudo pacman -Syyuu

Nakonec nainstalujte ShellCheck:

sudo pacman -S shellcheck

Fedora

Pro instalaci na Fedoře použijte správce balíčků DNF:

sudo dnf install ShellCheck

OpenSUSE

ShellCheck je k dispozici v hlavních repozitářích OpenSUSE. Instalace je jednoduchá pomocí správce balíčků Zypper:

sudo zypper install ShellCheck

Univerzální instalace pro Linux

Pokud používáte méně známou distribuci Linuxu, můžete nainstalovat univerzální binární verzi ShellCheck. Instalace je jednoduchá a nevyžaduje kompilaci ze zdrojového kódu. Postupujte podle následujících kroků:

Krok 1: Nastavte proměnnou prostředí s požadovanou verzí ShellCheck:

export scversion="stable" # nebo "v0.4.7", nebo "latest"

Krok 2: Stáhněte binární verzi pomocí wget:

wget "https://storage.googleapis.com/shellcheck/shellcheck-${scversion}.linux.x86_64.tar.xz"

Krok 3: Rozbalte stažený archiv:

tar --xz -xvf shellcheck-"${scversion}".linux.x86_64.tar.xz

Krok 4: Přesuňte spustitelný soubor do adresáře /usr/bin/:

cp shellcheck-"${scversion}"/shellcheck /usr/bin/

Jak ladit skripty pomocí ShellCheck

ShellCheck analyzuje skripty (nejčastěji Bash), odhaluje potenciální problémy a navrhuje opravy. Základní použití je následující:

Přejděte do adresáře, kde máte uložen skript. V tomto příkladu je to ~/shell-scripts. Váš adresář se může lišit:

cd ~/shell-scripts

Zobrazte obsah adresáře pomocí ls:

ls

Poznámka: Pokud v adresáři máte více typů souborů, můžete pomocí ls v kombinaci s grep odfiltrovat pouze soubory skriptů:

ls | grep ".sh"
ls | grep ".bash"

Zkopírujte název souboru, který chcete zkontrolovat, a spusťte ShellCheck:

shellcheck nazev-souboru.sh

nebo

shellcheck nazev-souboru.bash

ShellCheck okamžitě vypíše nalezené problémy ve skriptu. Zkontrolujte výstup a aplikujte doporučení pro zlepšení kódu.

Uložení výstupu ShellCheck do souboru

Výstup v terminálu je užitečný, ale můžete o něj přijít při zavření terminálu. Pro uložení výstupu použijte přesměrování do souboru (>>):

shellcheck nazev-souboru.sh >> ~/Documents/shellcheck-report-nazev-souboru.sh

nebo

shellcheck nazev-souboru.bash >> ~/Documents/shellcheck-report-nazev-souboru.bash

Zobrazte uložený výstup pomocí příkazu cat:

cat ~/Documents/shellcheck-report-nazev-souboru.sh | more

nebo

cat ~/Documents/shellcheck-report-nazev-souboru.bash | more