ShellCheck - narzędzie, które pokazuje ostrzeżenia i sugestie dotyczące skontleurowych scenariuszy
- 2518
- 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;ShellCheck - narzędzie do analizy skryptowej powłoki online
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.ciiShellCheck - sprawdza zły kod w skontlerze
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.
Sprawdź kod skryptu złego powłoki w VIMJeś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 »