ShellCheck - narzędzie, które pokazuje ostrzeżenia i sugestie dotyczące skontleurowych scenariuszy

- 2547
- 493
- Laura Zygmunt
ShellCheck jest statycznym narzędziem analizy, które pokazuje ostrzeżenia i sugestie dotyczące złego kodu w skryptach bash/sH. Można go używać na kilka sposobów: z sieci, wklejając skrypt powłoki w edytorze online (ACE - samodzielny edytor kodu napisany w JavaScript) w https: // www.ShellCheck.net (jest zawsze synchronizowana z najnowszym zatwierdzeniem git i jest najprostszym sposobem na danie ShellCheck), aby uzyskać natychmiastową informację zwrotną.
Alternatywnie możesz zainstalować go na komputerze i uruchomić z terminalu, zintegrować go z edytorem tekstu, a także w apartamentach kompilacji lub testowej.
Istnieją trzy rzeczy, które ShellCheck robi przede wszystkim:
- Wskazuje i wyjaśnia typowe problemy składniowe dla początkujących, które powodują, że powłoka przekazuje tajemnicze komunikaty o błędach.
- Wskazuje i wyjaśnia typowe problemy semantyczne na poziomie pośredniego, które powodują, że skorupa zachowa.
- Wskazuje również subtelne zastrzeżenia, przypadki narożne i pułapki, które mogą spowodować, że działający skrypt zaawansowanego użytkownika nie porażił się w przyszłych okolicznościach.
W tym artykule pokażemy, jak zainstalować i używać ShellCheck na różne sposoby, aby znaleźć błędy lub zły kod w skonfrtach w Linux.
Jak instalować i używać ShellCheck w Linux
ShellCheck można łatwo zainstalować lokalnie za pośrednictwem menedżera pakietów, jak pokazano.
Na Debian/Ubuntu
# apt-get instal instaluj ShellCheck
Na RHEL/CENTOS
# yum -y instaluj epel -release # yum instaluj ShellCheck
Na Fedorze
# DNF zainstaluj ShellCheck
Po zainstalowaniu ShellCheck przyjrzyjmy się, jak użyć ShellCheck w różnych metodach, o których wspominaliśmy wcześniej.
Korzystanie z ShellCheck z Internetu
Przejdź do https: // www.ShellCheck.net i wklej swój skrypt w dostarczonym edytorze ACE, wyświetlisz dane wyjściowe na dole edytora, jak pokazano na zrzucie ekranu poniżej.
W poniższym przykładzie skrypt powłoki testowej składa się z następujących wierszy:
#!/bin/bash #declare zmienne Minargs = 2 e_notroot = 50 e_minargs = 100 #OCHO Wartości zmiennych echo $ minargs echo $ e_nonroot exit 0;

Z powyższego zrzutu ekranu pierwsze dwie zmienne E_NOTROOT I E_minargs zostały zadeklarowane, ale są nieużywane, ShellCheck informuje je jako „sugestywne błędy”:
SC2034: E_NOTROOT wydaje się nieużywany. Sprawdź to lub wyeksportuj. SC2034: E_minargs wydaje się nieużywany. Sprawdź to lub wyeksportuj.
Następnie niewłaściwa nazwa (w oświadczeniu Echo $ e_nonroot) był użyty do echo zmienna E_NOTROOT, Dlatego ShellCheck pokazuje błąd:
SC2153: Możliwe błędy błędne: E_nonroot nie może być przypisany, ale E_NOTROOT jest
Ponownie, gdy spojrzysz na polecenia ECHO, zmienne nie zostały podwójnie cytowane (pomaga zapobiegać globaniu i dzieleniu słów), dlatego kontrola powłoki pokazuje ostrzeżenie:
SC2086: Podwójny cytat, aby zapobiec globaniu i dzieleniu słów.
Używając ShellCheck z terminalu
Możesz także uruchomić ShellCheck z wiersza polecenia, użyjemy tego samego skryptu powłoki powyżej w następujący sposób:
Test $ ShellCheck.cii

Korzystanie z ShellCheck z edytora tekstu
Możesz także obejrzeć ShellCheck Sugestie i ostrzeżenia bezpośrednio w różnych redaktorach, jest to prawdopodobnie bardziej wydajny sposób korzystania z ShellCheck, po zapisaniu plików, pokazuje wszelkie błędy w kodzie.
W Krzepa, Użyj ALE lub SYNTASTIC (użyjemy tego):
Zacznij od instalacji Patogen tak, aby łatwo zainstalować syntastyczne. Uruchom poniższe polecenia, aby uzyskać patogen.krzepa Plik i katalogi, których potrzebuje:
# mkdir -p ~/.vim/autoload ~/.vim/pakiet && curl -lsso ~/.vim/autoload/patogen.vim https: // tpo.PE/patogen.krzepa
Następnie dodaj to do swojego ~/.VIMRC plik:
Wykonaj patogen#infect ()
Po zainstalowaniu patogenu, a teraz możesz włożyć syntastyczne ~/.vim/pakiet następująco:
# CD ~/.vim/bundle && git Clone - -Depth = 1 https: // github.com/vim-syntastyczne/syntastyczne.git
Następnie zamknij VIM i uruchom go z powrotem, aby go ponownie załadować, a następnie wpisz polecenie poniżej:
: Helptags
Jeśli wszystko pójdzie dobrze, powinieneś mieć ShellCheck zintegrowany z Krzepa, Poniższe zrzuty ekranu pokazują, jak to działa przy użyciu tego samego skryptu powyżej.

Jeśli otrzymasz błąd po wykonaniu powyższych kroków, prawdopodobnie nie zainstalowałeś Patogen prawidłowo. Ponownie wykonaj kroki, ale upewnij się, że wykonałeś następujące czynności:
- Stworzył oba ~/.vim/autoload I ~/.vim/pakiet katalogi.
- Dodano linię Execute Pathogen#infect () do twojego ~/.VIMRC plik.
- Czy git klon syntastycznego w środku ~/.vim/pakiet.
- Użyj odpowiednich uprawnień, aby uzyskać dostęp do wszystkich powyższych katalogów.
Możesz także użyć innych redaktorów do sprawdzenia złego kodu w skontleniach, takich jak:
- W Emacs, używać FlyCheck.
- W Sublime, zatrudnij Sublimelinter.
- W Atom użyj Lintera.
- W większości innych redaktorów użyj zgodności z błędami GCC.
Notatka: Użyj galerii złego kodu, aby wykonać więcej skorupek.
ShellCheck Github Repozytorium: https: // github.com/koalaman/shellcheck
Otóż to! W tym artykule pokazaliśmy, jak instalować i używać ShellCheck Aby znaleźć błędy lub zły kod w skontlerze w Linux. Podziel się z nami swoimi przemyśleniami za pośrednictwem sekcji komentarzy poniżej.
Czy znasz jakiekolwiek inne podobne narzędzia? Jeśli tak, udostępnij informacje o nich również w komentarzach.
- « Jak zainstalować CPANEL i WHM w Centos 6
- Zrozumienie plików inicjalizacji powłoki i profile użytkowników w Linux »