Jak ladit skripty Linux Bash pomocí ShellCheck

Máte potíže se skriptem Bash, který jste napsali pro svůj počítač se systémem Linux? Namísto prohledávání bezpočtu vláken na StackExchange pro pomoc s programováním zvažte použití nástroje ShellCheck k ladění skriptů Linux Bash a automatickému nalezení chyb ve vašem kódu.

Získejte ShellCheck

ShellCheck je užitečný nástroj, ale není součástí operačního systému Linux. Místo toho, pokud ji chcete používat, budete ji muset nejprve nainstalovat. V tomto tutoriálu se podíváme na to, jak nainstalovat ShellCheck z různých oficiálních softwarových zdrojů. Také vám ukážeme, jak zprovoznit program pomocí generického binárního systému Linux.

Otevřete okno terminálu a aktualizujte své balíčky. Poté postupujte podle pokynů, které odpovídají vašemu operačnímu systému Linux.

Ubuntu

ShellCheck je v oficiálních zdrojích softwaru Ubuntu, takže jeho instalace je docela snadná. V terminálu použijte správce balíčků Apt a zprovozněte nejnovější verzi ShellCheck.

sudo apt install shellcheck

Debian

Debian Stable má pro uživatele připravenou starší verzi ShellCheck k instalaci. Mějte na paměti, že tato verze je pozdržena kvůli tomu, jak Debian dělá věci.

  Jak nainstalovat aplikaci Trojita Mail na Linux

Poznámka: Chcete novější verzi programu ShellCheck? Postupujte podle našeho průvodce a zjistěte, jak získat modernější software v Debianu.

sudo apt-get install shellcheck

Arch Linux

Chcete-li získat ShellCheck na Arch Linuxu, musíte nejprve povolit softwarové úložiště „Community“. Povolení „Community“ vyžaduje úpravu souboru Pacman.conf. Chcete-li soubor upravit, otevřete Pacman.conf v Nano.

sudo nano /etc/pacman.conf

Procházejte (pomocí šipek) a najděte v souboru sekci „Komunita“. Odstraňte všechny výskyty symbolu # (asi tři řádky). Poté uložte úpravy stisknutím Ctrl + O.

S novými úpravami Pacman.conf se zavřete stisknutím Ctrl + X. Poté znovu synchronizujte Pacmana a nastavte přístup k úložišti Arch Linux „Community“.

sudo pacman -Syyuu

Nakonec nainstalujte ShellCheck do Arch Linuxu pomocí:

sudo pacman -S shellcheck

Fedora

Chcete-li získat nástroj pro analýzu skriptů ShellCheck na Fedora Linux, otevřete terminál a použijte nástroj pro správu balíčků DNF.

sudo dnf install ShellCheck

OpenSUSE

Instalace ShellCheck na OpenSUSE nevyžaduje žádné speciální kroky, protože je to v hlavních softwarových zdrojích distribuce. Chcete-li jej získat, zadejte v okně terminálu následující příkaz balíčku Zypper.

sudo zypper install ShellCheck

Obecný Linux

Uživatelé méně známých distribucí Linuxu, kteří chtějí mít přístup k nástroji pro analýzu skriptů ShellCheck, si musí nainstalovat univerzální binární verzi. Naštěstí se tato binární verze snadno instaluje a nevyžaduje žádné vrtání se zdrojovým kódem. Aby to fungovalo, postupujte podle níže uvedených kroků!

  Jak spravovat skupiny a uživatele v systému Linux

Krok 1: Exportujte verzi ShellCheck, kterou se chystáte stáhnout, do prostředí vašeho terminálu.

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

Krok 2: pomocí nástroje pro stahování wget stáhněte nejnovější binární verzi ShellCheck.

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

Krok 3: Rozbalte archiv ShellCheck TarXZ pomocí příkazu tar.

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

Krok 4: Nainstalujte ShellCheck do počítače se systémem Linux pomocí příkazu cp.

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

Ladění skriptů pomocí ShellCheck

Primárním účelem ShellCheck je prohlížet skript (obvykle Bash), odhalovat zneužité příkazy a nabízet opravy. Pro základní použití proveďte následující.

Nejprve na CD, kde je skript, který chcete zkontrolovat, na vašem počítači se systémem Linux. V tomto tutoriálu je náš skript ve skriptech ~/shell-scripts. Vaše se mohou lišit.

cd ~/shell-scripts

Spusťte příkaz ls a zobrazte všechny soubory v aktuálním adresáři.

  5 nejlepších torrent klientů pro Linux

Poznámka: Pokud máte v úmyslu použít ShellCheck v adresáři s více typy souborů, je dobré kombinovat grep a ls dohromady. Společné použití těchto dvou příkazů vám umožní odfiltrovat všechny neskriptové soubory.

ls

Nebo v kombinaci s grep zobrazíte pouze soubory skriptů.

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

Najděte název souboru skriptu ve výzvě ls a zvýrazněte název souboru pomocí myši. Až budete připraveni, spusťte jej přes ShellCheck a zkontrolujte svůj kód.

shellcheck name-of-file.sh

nebo

shellcheck name-of-file.bash

Ihned po spuštění příkazu shellcheck zjistí problémy s vaším kódem a vloží jej do příkazového řádku terminálu. Přečtěte si a zjistěte, jak zlepšit své programování podle návrhů, které vám nabízí.

Uložit zprávu ShellCheck do souboru

Získání okamžité zprávy v terminálu pro vaše programování bash je velmi užitečné, ale můžete o ni přijít, pokud terminál zavřete. Abyste se vyhnuli ztrátě zprávy Shellcheck, doporučujeme uložit výstup do textového souboru spuštěním programu v kombinaci s funkcí >> v terminálu.

shellcheck name-of-file.sh >> ~/Documents/shellcheck-report-name-of-file.sh

nebo

shellcheck name-of-file.bash >> ~/Documents/shellcheck-report-name-of-file.bash

Prohlédněte si uloženou zprávu v terminálu pomocí příkazu cat.

cat ~/Documents/shellcheck-report-name-of-file.sh | more

nebo

cat ~/Documents/shellcheck-report-name-of-file.bash | more