Masz trudności z własnym skryptem Bash na systemie Linux? Zamiast przeszukiwać setki wątków na StackExchange w poszukiwaniu pomocy programistycznej, rozważ wykorzystanie narzędzia ShellCheck, które pomoże Ci zdebugować skrypty Bash oraz automatycznie zidentyfikować błędy w kodzie.
Instalacja ShellCheck
ShellCheck to niezwykle przydatne narzędzie, jednak nie jest ono domyślnie zainstalowane w systemach Linux. Aby z niego skorzystać, musisz najpierw przeprowadzić instalację. W tym przewodniku przedstawimy, jak zainstalować ShellCheck z różnych oficjalnych źródeł oprogramowania, a także jak uruchomić go za pomocą ogólnego pliku binarnego dla Linuxa.
Otwórz terminal i zaktualizuj swoje pakiety. Następnie postępuj zgodnie z instrukcjami, które odpowiadają Twojemu systemowi operacyjnemu Linux.
Ubuntu
ShellCheck jest dostępny w oficjalnych repozytoriach Ubuntu, co czyni jego instalację prostą. W terminalu użyj menedżera pakietów Apt, aby uzyskać najnowszą wersję ShellCheck.
sudo apt install shellcheck
Debian
W stabilnej wersji Debiana dostępna jest starsza wersja ShellCheck, którą można zainstalować. Pamiętaj, że ta wersja jest wstrzymywana ze względu na politykę Debiana.
Chcesz mieć nowszą wersję ShellCheck? Postępuj zgodnie z naszym przewodnikiem, aby dowiedzieć się, jak uzyskać bardziej aktualne oprogramowanie w Debiana.
sudo apt-get install shellcheck
Arch Linux
Aby zainstalować ShellCheck w Arch Linux, musisz najpierw włączyć repozytorium „Community”. Aby to zrobić, edytuj plik Pacman.conf. Otwórz go w edytorze Nano.
sudo nano /etc/pacman.conf
Przewiń w dół do sekcji „Community” w pliku. Usuń znak # z odpowiednich linii (około trzech). Następnie zapisz zmiany, naciskając Ctrl + O.
Po zapisaniu zmian wyjdź z Nano, naciskając Ctrl + X. Następnie zsynchronizuj Pacmana, aby uzyskać dostęp do repozytorium „Community” Arch Linux.
sudo pacman -Syyuu
Na koniec zainstaluj ShellCheck za pomocą poniższego polecenia:
sudo pacman -S shellcheck
Fedora
Aby zainstalować ShellCheck w systemie Fedora, otwórz terminal i użyj menedżera pakietów DNF.
sudo dnf install ShellCheck
OpenSUSE
Instalacja ShellCheck w OpenSUSE nie wymaga specjalnych kroków, gdyż jest dostępny w głównych repozytoriach tej dystrybucji. W terminalu wpisz poniższe polecenie:
sudo zypper install ShellCheck
Ogólny Linux
Użytkownicy mniej popularnych dystrybucji Linuxa, którzy chcą korzystać z narzędzia ShellCheck, powinni zainstalować uniwersalną wersję binarną. Na szczęście ta wersja jest łatwa do zainstalowania i nie wymaga kompilacji kodu źródłowego. Wykonaj poniższe kroki:
Krok 1: Ustaw zmienną środowiskową dla wersji ShellCheck, którą chcesz pobrać.
export scversion="stable" # lub "v0.4.7", lub "latest"
Krok 2: Używając narzędzia wget, pobierz najnowszą wersję binarną ShellCheck.
wget "https://storage.googleapis.com/shellcheck/shellcheck-${scversion}.linux.x86_64.tar.xz"
Krok 3: Wyodrębnij archiwum ShellCheck za pomocą polecenia tar.
tar --xz -xvf shellcheck-"${scversion}".linux.x86_64.tar.xz
Krok 4: Zainstaluj ShellCheck na swoim systemie Linux za pomocą poniższego polecenia:
cp shellcheck-"${scversion}"/shellcheck /usr/bin/
Debugowanie skryptów z ShellCheck
Podstawowym celem ShellCheck jest analiza skryptu (zwykle w Bash), wykrycie błędów i zaproponowanie poprawek. Aby to zrobić, wykonaj następujące kroki.
Najpierw przejdź do katalogu, w którym znajduje się skrypt, który chcesz sprawdzić. W tym przykładzie zakładamy, że skrypt znajduje się w lokalizacji ~/shell-scripts. Twój katalog może się różnić.
cd ~/shell-scripts
Uruchom polecenie ls, aby wyświetlić wszystkie pliki w bieżącym katalogu.
Jeśli zamierzasz używać ShellCheck w katalogu z różnymi typami plików, warto połączyć polecenia grep i ls, aby wyświetlić tylko pliki skryptów.
ls | grep ".sh" ls | grep ".bash"
Znajdź nazwę pliku skryptu w liście plików i skopiuj ją. Następnie uruchom ShellCheck na tym pliku, aby sprawdzić kod.
shellcheck name-of-file.sh
lub
shellcheck name-of-file.bash
Po uruchomieniu polecenia ShellCheck natychmiast wykryje problemy w kodzie i wyświetli je w terminalu. Przeczytaj uważnie wyniki i zastosuj się do sugerowanych poprawek, aby poprawić jakość swojego kodu.
Zapisz raport ShellCheck do pliku
Choć raport wyświetlany w terminalu jest bardzo pomocny, istnieje ryzyko jego utraty po zamknięciu terminala. Aby temu zapobiec, zaleca się zapisanie wyniku analizy do pliku tekstowego, używając polecenia z operatorem >> w terminalu.
shellcheck name-of-file.sh >> ~/Documents/shellcheck-report-name-of-file.sh
lub
shellcheck name-of-file.bash >> ~/Documents/shellcheck-report-name-of-file.bash
Aby wyświetlić zapisany raport w terminalu, użyj polecenia cat.
cat ~/Documents/shellcheck-report-name-of-file.sh | more
lub
cat ~/Documents/shellcheck-report-name-of-file.bash | more