Toolverse
Wszystkie skille

shellcheck-configuration

autor: wshobson

Statyczna analiza skryptów shell – łów błędy zanim pojawią się w produkcji

Instalacja

Wybierz klienta i sklonuj repozytorium do odpowiedniego katalogu skilli.

Instalacja

Szybkie info

Kategoria
DevOps
Wyświetlenia
113

O skillu

ShellCheck to narzędzie do analizy statycznej skryptów shell, które wykrywa problematyczne wzorce i błędy przed uruchomieniem kodu. Obsługuje Bash, sh, dash, ksh i inne powłoki POSIX, oferując ponad 100 różnych ostrzeżeń i błędów. Skonfiguruj go w swoim projekcie za pomocą pliku .shellcheckrc, integruj z pipelinami CI/CD, a następnie analizuj istniejące skrypty, aby wymusić spójne standardy jakości. Idealne do ustawienia infrastruktury lintingu, naprawy problemów w kodzie i zapewnienia przenośności skryptów między środowiskami.

Jak używać

  1. Zainstaluj ShellCheck na swoim systemie: na macOS użyj brew install shellcheck, na Ubuntu/Debian uruchom apt-get install shellcheck, lub skompiluj ze źródła klonując repozytorium i wykonując make build && make install. Sprawdź instalację poleceniem shellcheck --version.

  2. Utwórz plik .shellcheckrc w katalogu głównym projektu, aby skonfigurować ShellCheck dla swoich potrzeb. Określ docelową powłokę (np. shell=bash), włącz dodatkowe sprawdzenia za pomocą enable=nazwa-sprawdzenia i wyłącz fałszywe alarmy poprzez disable=kod-błędu.

  3. Uruchom ShellCheck na swoim skrypcie poleceniem shellcheck nazwa-skryptu.sh, aby otrzymać listę wykrytych problemów wraz z kodami błędów i wyjaśnieniami.

  4. Przejrzyj raporty ShellCheck i zrozum kody błędów (np. SC1091, SC2086), aby wiedzieć, które ostrzeżenia są krytyczne dla Twojego projektu, a które można bezpiecznie pominąć.

  5. Zintegruj ShellCheck z pipelinami CI/CD, dodając polecenie shellcheck do etapu walidacji kodu, aby automatycznie sprawdzać wszystkie nowe skrypty shell przed mergowaniem.

  6. Dostosuj konfigurację za pomocą zmiennych środowiskowych takich jak SHELLCHECK_SHELL=bash lub SHELLCHECK_STRICT=true, aby wymusić bardziej rygorystyczne standardy w całym zespole.

Podobne skille