Polecenie Bash „Set -x”

Polecenie Bash „Set -x”

Grzmotnąć ustawić Polecenie jest używane do wielu celów w Bash i ma wiele opcji, aby włączyć lub wyłączyć różne rodzaje funkcji środowiska powłoki. -X Opcja jest jedną z opcji polecenia Set, która służy do włączenia funkcji debugowania skryptu BASH w celu rozwiązywania problemów. ''zestaw -x„Polecenie może być używane z terminalu lub wewnątrz dowolnego skryptu Bash. Różne cele korzystania z 'zestaw -x„polecenie zostało opisane w tym samouczku.

Włącz debugowanie

Jeśli skrypt nie pokazuje poprawnego wyjścia lub nieoczekiwanego wyjścia, ten problem można rozwiązać za pomocą debugowania. Funkcję debugowania można włączyć na różne sposoby w skrypcie BASH, które są wymienione poniżej.

Funkcję debugowania można włączyć za pomocą polecenia „SET -x” w terminalu lub w skrypcie Bash za pomocą polecenia „SET -x”. Użycie polecenia „Set -x” zostało pokazane w następnej części samouczka.
Funkcję debugowania można również włączyć za pomocą opcji -x w momencie wykonywania pliku bash jak następujące polecenie:

$ bash -x nazwa pliku.grzmotnąć

Funkcję debugowania można również włączyć za pomocą następującego wiersza na początku skryptu:

#!/bin/sh -x

Wyłącz debugowanie

Wymaga wyłączenia funkcji debugowania skryptu Bash po rozwiązaniu problemu. Polecenie „SET +X” służy do wyłączenia funkcji debugowania.

Różne przykłady polecenia „Set -x”

Wykazano dwa różne zastosowania opcji „SET -x” przy użyciu przykładów.

Przykład-1: Włącz i wyłącz funkcję debugowania

Utwórz plik bash za pomocą następującego skryptu, który przyjmuje wejście od użytkownika przed i po użyciu poleceń „SET -x” i „SET +X”. Pierwsza wartość nazwy zostanie pobrana i wydrukowana przed użyciem polecenia „Set -x”. Wartość nazwiska zostanie pobrana i wydrukowana po użyciu polecenia „Set -x”. Następnie wartości imienia i nazwiska zostaną wydrukowane po użyciu polecenia „SET +X”.

#!/bin/bash
#Wprowadź wejście i wydrukowanie
Przeczytaj -p „Wprowadź swoje imię:”
Echo „Twoje imię to $ FirstName”
#Enable polecenie set -x
zestaw -x
#Wprowadź kolejne wejście i wydrukuj
Przeczytaj -p „Wprowadź swoje nazwisko:” LastName
echo „Twoje nazwisko to $ LastName”
#Disable The Set X Command
Zestaw +x
#Print zmienne
Echo „Twoja nazwa pełna to $ FirstName $ LastName”

Wyjście:

Następujące dane wyjściowe zostanie wydrukowane po wykonaniu powyższego skryptu. Zgodnie z wyjściem każda instrukcja skryptu została wydrukowana po wykonaniu polecenia „SET -x”.

Przykład -2: debugowanie skryptu za pomocą polecenia „set -x”

Utwórz plik bash z następującym skryptem, który przyjmie nazwę pliku od użytkownika do odczytania, włączając funkcję debugowania. Polecenie „Set -x” zostało użyte na początku skryptu, aby włączyć funkcję debugowania. Następnie nazwa pliku zostanie pobrana od użytkownika. Jeśli użytkownik nie podaje żadnej nazwy pliku, zostanie wydrukowana wiadomość. Jeśli nazwa pliku pobrana od użytkownika nie istnieje lub nie jest plik, zostanie wyświetlony inny komunikat o błędzie. Jeśli poprawna nazwa pliku zostanie pobrana od użytkownika, zawartość pliku zostanie wydrukowana.

#!/bin/bash
#Enable The Debugging
zestaw -x
#Wprowadź nazwę pliku od użytkownika
echo -n „Wprowadź nazwę pliku:”
Przeczytaj fn
#Sprawdź, czy nazwa pliku jest pusta, czy nie
if [„$ fn” == ""];
Następnie
Echo „Brakuje nazwy pliku."
#Sprawdź, czy plik istnieje, czy nie
elif [ ! -f „$ fn”];
Następnie
#PRINT Komunikat o błędzie
echo "$ fn nie istnieje."
w przeciwnym razie
#Print treści pliku
Cat „$ fn”
fi

Wyjście:

Poniższe dane wyjściowe pojawi się po wykonaniu powyższego skryptu bez dostarczenia nazwy pliku. Dane wyjściowe pokazuje, że pusta wartość została uznana za nazwę pliku. Warunek „if” do sprawdzania pustej nazwy pliku został zwrócony true dla pustego wejścia. Tak więc instrukcja „echo” do drukowania komunikatu o błędzie została wydrukowana do opcji debugowania i komunikatu o błędzie ”,„Brakuje nazwy pliku”Został wydrukowany.

Następujące dane wyjściowe pojawi się po wykonaniu powyższego skryptu za pomocą nazwy pliku. Dane wyjściowe pokazuje, że „jeśli” warunek sprawdzania pustej nazwy pliku został zwrócony false, a warunek „jeśli” do sprawdzania nieistniejącego pliku został również zwrócony Fałsz. Wejściowa nazwa pliku, test testowy.tekst istnieje w obecnej lokalizacji. Więc 'kot„Polecenie do przeczytania test testowy.tekst Plik został wykonany, a zawartość pliku została wydrukowana.

Następujące dane wyjściowe pojawi się po wykonaniu powyższego skryptu za pomocą nazwy pliku. Dane wyjściowe pokazuje, że warunek „jeśli” sprawdzania pustej nazwy pliku został zwrócony false, a warunek „jeśli” do sprawdzania nieistniejącego pliku został zwrócony true, ponieważ plik 1.tekst nie istnieje w bieżącej lokalizacji. Więc 'kot„Polecenie do odczytania pliku nie zostało wykonane, a komunikat o błędzie”plik 1.TXT nie istnieje.”Został wydrukowany.

Wniosek

Zadanie debugowania jest bardzo ważną częścią każdego języka programowania, aby łatwo znaleźć błąd kodu. Zadanie debugowania odbywa się na różne sposoby dla różnych języków programowania. Wiele sposobów włączania funkcji debugowania skryptu Bash i zastosowań polecenia „Set -x” do debugowania skryptu Bash zostało opisane w tym samouczku.