Bash: testowanie składni skryptu bez uruchamiania

21-Gru-2018

Podczas uruchamiania skryptu wyświetlił się komunikat o błędzie składni. Prosta sprawa – wystarczy znaleźć literówkę lub brakujący nawias. I tak rzeczywiście było.

Problem jednak pojawił się inny. Normalnie skrypt jest uruchamiany automatycznie i zawiera czynności, których nie można uruchomić ot tak sobie. Nie ma więc możliwości sprawdzenia, czy skrypt po poprawce jest już rzeczywiście dobry.

I tu z pomocą przychodzi opcja -n dla bash

bash -n script_file
  • Jeśli w skrypcie znajduje się błąd, to polecenie wyświetla komunikat o znalezionym błędzie
  • Jeśli skrypt nie ma błędów składniowych, nic nie jest wyświetlane

Oczywiście polecenie nie sprawdza, czy nie masz literówek w nazwach zewnętrznych programów, np. nie wykryje polecenia whoo jako błędnego. To pewnie literówka, ale opcja -n sprawdza tylko składnię. Ale to i tak całkiem nieźle, jeżeli chodzi o sprawdzenie jednej drobnej poprawki 🙂

Co ciekawe jest nawet strona, która pozwala sprawdzić skrypt online:

https://www.shellcheck.net/

Tutaj dostaniesz nie tylko informacje o błędach składniowych, ale też wskazówki dotyczące potencjalnych błędów (best practicies), np.:

  • czy na początku skryptu jest shebang
  • czy zmienne podczas wykorzystywania są zamknięte w cudzysłowach
  • i wiele innych

Dodaj komentarz:

Autor: Rafał Kraik