Polecenie linux ustawione

Polecenie linux ustawione

Polecenie Linux Set to wbudowane polecenie powłoki, które pozwala wyświetlać lub ustawić zmienne powłoki i środowiska. W tym przewodniku omówimy polecenie set i pokazujemy różne sposoby użycia narzędzia wiersza poleceń.

Podstawowa składnia

Polecenie SET przyjmuje następującą składnię:

$ Command -options Argumenty

Opcje poleceń

Istnieje wiele opcji, które można użyć z poleceniem Set. Zbadajmy niektóre z nich:

  • -A: Opcja -a ustawia wszystkie utworzone lub zmodyfikowane zmienne lub funkcje dla eksportu.
  • -B: Opcja -B natychmiast ostrzega użytkownika po zakończeniu zadań w tle.
  • -mi: Opcja -e instruuje powłokę, aby wyjść, jeśli polecenie daje niezerowy status wyjścia. Mówiąc najprościej, powłoka wychodzi z powodu awarii polecenia.
  • -F: Opcja -f wyłącza generowanie nazw plików.
  • -H: Opcja -h jest domyślnie włączona. Lokalizuje, a następnie pamięta funkcję, która oczekuje na wykonanie.
  • -N: Opcja -n tylko odczytuje polecenia, ale nie wykonuje ich.
  • -T: Opcja -t wychodzi po odczytaniu i uruchomieniu jednego polecenia.
  • -u: Opcja -u traktuje zmienne niezdefiniowane lub niezdefiniowane, z wyjątkiem specjalnych parametrów, takich jak dzikie karty (*) lub „@” jako błędy podczas rozszerzenia parametru.
  • -V: Opcja -v drukuje linie wejścia powłoki w miarę czytania.
  • -X: Opcja -x drukuje argumenty poleceń podczas wykonywania

Wartości wyjścia

Poniżej przedstawiono wartości wyjścia powiązanego z poleceniem Set:

0: Dowództwo zakończyło się powodzeniem.

  1. Polecenie nie powiodło się z powodu nieprawidłowego argumentu polecenia
  2. Niepowodzenie polecenia z powodu brakującego argumentu, którego brakuje

Ustaw polecenie bez żadnych opcji

Bez żadnych argumentów, polecenie SET wymienia wszystkie zmienne powłoki, w tym ich wartości.

$ set

Ustaw parametry pozycji za pomocą polecenia Set

Polecenie zestawu Linux można użyć do przypisania wartości do parametrów pozycji. Parametr pozycyjny jest zmienną w programie powłoki, a jego wartość jest określana jako $ n, gdzie n jest cyfrą oznaczającą pozycję parametru.

Wartość 1 USD jest pierwszym parametrem pozycyjnym po nazwie pliku lub polecenia. Wartość 2 USD jest drugim parametrem i tak dalej.

Załóżmy, że wykonujemy polecenie pokazane poniżej:

$ set Red Blue Green

Tutaj czerwony odpowiada parametrze pozycyjnej 1 USD, Blue odpowiada parametrze 2 USD, a na koniec zielony odpowiada 3 USD.

Aby wymienić wszystkie parametry w zamówieniu 1 USD 2 USD 3, uruchom polecenie ECHO poniżej:

$ echo „$*”

Aby wymienić pierwszy parametr, wykonaj:

$ echo 1 $

Aby wymienić drugi parametr, uruchom:

$ echo 2 USD

I tak dalej.

Użyj polecenia SET, aby rozejrzeć wszystkie parametry pozycyjne

Aby rozeutować parametry pozycyjne, uruchom polecenie SET z podwójnymi łączonymi - jak pokazano.

$ set --

Jeszcze raz, jeśli spróbujesz wymienić parametry pozycyjne, otrzymasz puste wyjście, co oznacza, że ​​nie były one niepotrzebne.

Zignoruj ​​niezbadaną zmienną

Domyślnie skrypt powłoki wychodzi na niezdefiniowaną zmienną. W skrypcie myscript.SH pokazane poniżej, zmienna $ foo nie jest jeszcze zdefiniowana i dlatego nie istnieje.

Po uruchomieniu skryptu zwraca pusty wiersz dla linii zawierającej nieistniejącą zmienną i wykonuje następujący wiersz:

$ ./myscript.cii

Ta anomalia jest niepożądana, a programiści chcieliby zostać powiadomieni w przypadku niezdefiniowanych zmiennych. Dyrektywa Set -u na początku skryptu wydrukuje błąd na powładzie, jeśli skrypt przebiega w niezdefiniowaną zmienną.

Gdy skrypt zostanie ponownie uruchomiony, wyświetlany jest błąd dotyczący zmiennej niezwiązanej.

Wyświetl błąd, jeśli polecenie nie istnieje

Zwykle, jeśli polecenie pojawi się w błędach i nie wykonuje wykonywania, powłoka bash będzie nadal wykonywać pozostałe polecenia. Weźmy na przykład skrypt powłoki poniżej:

Polecenie Foobar nie istnieje, a błąd powinien być wyświetlany na powładzie Bash, gdy skrypt jest wykonywany, aby pokazać, że skrypt w problem. Jednak tak się nie dzieje, a powłoka idzie dalej, aby wykonać następny wiersz, jak pokazano:

Podobnie jak poprzedni przykład, nie jest to dobra praktyka podczas pisania scenariuszy Shell, szczególnie w celu bezpieczeństwa i debugowania. Idealnie, skrypt powinien zatrzymać się, gdy napotyka błąd. Aby zająć się tym scenariuszem, zdefiniuj zestaw dyrektywy -e na początku skryptu, jak pokazano.

Kiedy spróbujesz ponownie uruchomić skrypt, wpadniesz w błąd, jak pokazano:

Wyświetl błąd w poleceń rurociągów

Zestaw dyrektywy -e nie działa w przypadku poleceń rurowych. Rozważ skrypt poniżej:

Po uruchomieniu skryptu zwraca błąd, ale nadal uruchamia kolejne polecenie:

Aby przezwyciężyć tę przeszkodę, przejdź przez Set -eo PipeFail Dyrektywa, jak pokazano:

$ set -eo ripefail

Tym razem skrypt kończy się i nie wykonuje następnego wiersza.

Zdefiniuj Allexport i powiadom opcje

Aby ustawić Allexport i powiadom opcje, uruchom polecenie:

$ set -o allexport -o powiadom

Wniosek

To były kilka przykładów tego, jak możesz użyć polecenia Set w skontlerze. Jak zaobserwowano, polecenie Set może być przydatnym narzędziem w ustawianiu parametrów pozycji i debugowaniu skłonności skorupy.