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.
Table of Contents
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.
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ů!
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.
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