Jak powtarzać polecenia powłoki podczas ich wykonywania w Bash
Echo poleceń w Bash pomaga użytkownikom i programistom zrozumieć, co dzieje się w ich skryptach. Wyświetlając polecenia podczas ich wykonywania, użytkownicy mogą sprawdzić, czy skrypt działa zgodnie z przeznaczeniem i zidentyfikować wszelkie błędy lub nieoczekiwane zachowanie. Oto kilka sposobów na echo poleceń powłoki w Bash:
Metoda 1: Użycie zestawu poleceń
Komendy set w Bash można używać do włączania i wyłączania opcji oraz ustawiania parametrów powłoki. Ustawiając -X opcji, możesz włączyć śledzenie powłoki, co spowoduje, że Bash wydrukuje każde polecenie przed jego wykonaniem.
#!/bin/bash
ustawić -X
Echo „Witaj, Linuksie!”
ustawić +x
Dane wyjściowe tego skryptu będą zawierać wykonywane polecenie:
Metoda 2: Korzystanie z pułapki DEBUG
Pułapka DEBUG to specjalna pułapka powłoki, która jest wykonywana przed każdym poleceniem w skrypcie Bash. Definiując funkcję dla pułapki DEBUG, możesz wydrukować każde polecenie przed jego wykonaniem:
#!/bin/bash
funkcjonować odpluskwić {
Echo ' $BASH_COMMAND '
}
pułapka debugowanie DEBUGOWANIE
Echo 'Witaj świecie!'
pułapka - DEBUGOWANIE
Dane wyjściowe tego skryptu będą zawierać wykonywane polecenie:
Metoda 3: Użycie opcji Bash -x
Możesz też włączyć xtrace tryb, przechodząc przez -X opcja polecenia Bash podczas wykonywania skryptu. Aby zilustrować użycie -X opcja tutaj to prosty skrypt Bash, który po prostu drukuje ciąg za pomocą polecenia echo:
#!/bin/bashEcho „Witaj, Linuksie!”
Aby wykonać ten skrypt z włączonym trybem xtrace, możesz uruchomić skrypt przy użyciu poniższej składni:
grzmotnąć -X < nazwa-pliku-scipt >W tym przykładzie Bash -X polecenie wykonuje skrypt za pomocą xtrace włączony tryb, powodujący, że powłoka drukuje każde polecenie przed jego wykonaniem. Polecenie echo zostanie następnie wydrukowane 'Witaj świecie!' do konsoli:
Wniosek
Powtarzanie poleceń powłoki podczas ich wykonywania to skuteczny sposób debugowania skryptów Bash. za pomocą ustawić komenda, ew -X opcja i Pułapka DEBUG , możesz łatwo wydrukować każde polecenie przed jego wykonaniem.