Jak wykonywać tryb debugowania składni w skontlerze
- 3659
- 968
- Juliusz Janicki
Rozpoczęliśmy serię debugowania skryptów Shell, wyjaśniając różne opcje debugowania i sposób włączenia trybów debugowania skryptu Shell.
Po napisaniu skontlerzy scenariuszy zaleca się, abyśmy praktycznie sprawdzali składnię w skryptach przed ich uruchomieniem, w przeciwieństwie do patrzenia na ich wyniki, aby potwierdzić, że działają poprawnie.
W tej części serii przejdziemy przez sposób korzystania z trybu debugowania składni. Pamiętaj, że wyjaśniliśmy różne opcje debugowania w pierwszej części tej serii i tutaj użyjemy ich do wykonywania debugowania skryptów.
Włączanie twardego trybu debugowania
Zanim przejdziemy do głównego koncentracji tego przewodnika, omówimy krótko Tryb wetbose. Jest włączony przez -v
Opcja debugowania, która każe powładzie wyświetlać wszystkie wiersze w skrypcie podczas ich czytania.
Aby zademonstrować, jak to działa, poniżej znajduje się przykładowy skrypt powłoki, aby przeliczyć obrazy PNG na format JPG.
Wpisz (lub skopiuj i wklej) w pliku.
#!/bin/bash #Convert dla obrazu w *.png; Konwertuj „$ Image” „$ obraz%.png.JPG „Echo” obraz $ konwertowany na $ obraz%.png.jpg "gotowe wyjście 0
Następnie zapisz plik i uczyń skrypt wykonywalny za pomocą poniższego polecenia:
skrypt $ chmod +x.cii
Możemy wywołać skrypt i wyświetlić wszystkie wiersze w nim, ponieważ są one czytane przez skorupę jak:
skrypt $ bash -v.ciiWyświetl wszystkie wiersze w skrypcie Shell
Włączanie trybu debugowania składni w skorupach skorupowych
Wracając do naszego tematu podkreślenia, -N
Aktywuje tryb sprawdzania składni. Instruuje powłokę, aby zasadniczo odczytał wszystkie polecenia, jednak ich nie wykonuje, to (powłoka) tylko bada używaną składnię.
W przypadku błędów w skrypcie powłoki, powłoka wyświetli błędy na terminalu, w przeciwnym razie nic nie wyświetla.
Składnia do aktywowania sprawdzania składni jest następująca:
$ bash -n skrypt.cii
Ponieważ składnia w skrypcie jest poprawna, powyższe polecenie nie wyświetli żadnego wyjścia. Dlatego spróbujmy usunąć zrobione
słowo, które zamyka pętlę i sprawdź, czy pokazuje błąd:
Poniżej znajduje się zmodyfikowany skrypt powłoki, aby przeliczyć obrazy PNG na format JPG, który zawiera błąd.
#!/bin/bash #script z #convert dla obrazu w *.png; Konwertuj „$ Image” „$ obraz%.png.JPG „Echo” obraz $ konwertowany na $ obraz%.png.jpg "exit 0
Zapisz plik, a następnie uruchom go podczas wykonywania sprawdzania składni:
$ bash -n skrypt.ciiSprawdź składnię w skrypcie powłoki
Z powyższego wyjścia widać, że istnieje problem składniowy z naszym skryptem, w pętli brakuje zamknięcia zrobione
słowo kluczowe. A powłoka szukała tego do końca pliku, a kiedy go nie znalazła (zrobione), powłoka wydrukowała błąd składni:
scenariusz.SH: Wiersz 11: Błąd składni: nieoczekiwany koniec pliku
Możemy również połączyć tryb sprawdzania w trybie wetonowym i składniową sprawdzanie:
$ bash -vn skrypt.ciiWłącz sprawdzanie Verbose i Składnia w skrypcie
Alternatywnie możemy włączyć sprawdzanie składni, modyfikując pierwszy wiersz skryptu powyżej, jak w następnym przykładzie.
#!/bin/bash -n #Umieszczenie pierwszego wiersza skryptu, aby włączyć składnię sprawdzanie #Convert dla obrazu w *.png; Konwertuj „$ Image” „$ obraz%.png.JPG „Echo” obraz $ konwertowany na $ obraz%.png.jpg "exit 0
Tak jak poprzednio, zapisz plik i uruchom go podczas wykonywania sprawdzania składni:
$ ./scenariusz.cii scenariusz.SH: Wiersz 12: Błąd składni: Nieoczekiwany koniec pliku
Ponadto możemy zastosować wbudowane polecenie Set Shell, aby włączyć tryb debugowania w skrypcie powyżej.
W poniższym przykładzie sprawdzamy tylko składnię pętli dla naszego skryptu.
#!/bin/bash #Using Set wbudowane polecenie powłoki, aby włączyć debugowanie #Convert #Enable Debugging Set -n dla obrazu w *.png; Konwertuj „$ Image” „$ obraz%.png.JPG „Echo” obraz $ konwertowany na $ obraz%.png.jpg "#Disable debugging zestaw +n exit 0
Jeszcze raz zapisz plik i wywołaj skrypt:
$ ./scenariusz.cii
Podsumowując, powinniśmy zawsze upewnić się, że składnie sprawdzamy nasze scenariusze powłoki, aby uchwycić każdy błąd przed ich wykonaniem.
Aby przesłać nam jakiekolwiek pytania lub opinie dotyczące tego przewodnika, użyj poniższego formularza odpowiedzi. W trzecie.
- « Zainstaluj Adobe Flash Player 11.2 na Centos/Rhel 7/6 i Fedora 25-20
- 9 Narzędzia do monitorowania partycji dysku Linux i użycia w Linux »