Co robi przekazywanie parametrów -xe do / bin / bash

59

Dokładnie to, co mówi tytuł. Nie mam szczęścia znaleźć odpowiedniej dokumentacji, aby zobaczyć, co robi -xe w następującym przypadku użycia:

#!/bin/bash -xe

co robią te parametry i gdzie jest to udokumentowane?

obdarzony wyobraźnią
źródło
Czy mówisz o parametrach przekazywanych do pliku binarnego BASH, czy mówisz o funkcjach i parametrach w języku skryptowym BASH?
Richard Keller
Odwołując się do parametrów przekazywanych do pliku binarnego BASH, takich jak: #! / Bin / bash -xe
pomysłowy

Odpowiedzi:

56

Jeśli przeczytasz stronę podręcznika man, bashna górze OPTIONSsekcji znajdziesz następujące informacje :

 Wszystkie opcje powłoki jednoznakowej udokumentowane w
 opis wbudowanego polecenia set może być użyty jako opcja, gdy
 wywoływana jest powłoka. Ponadto bash interpretuje następujące opcje
 kiedy jest wywoływany ...

A jeśli setpóźniej przeczytasz dokumentację polecenia na stronie manuala, znajdziesz:

 -e Wyjdź natychmiast, jeśli potok (który może składać się z
 pojedyncze proste polecenie), polecenie podpowłoki ujęte w nawiasy,
 lub jedno z poleceń wykonanych jako część listy poleceń zawartej w
 nawiasy klamrowe (patrz GRAMATYKA POWŁOKOWA powyżej) wychodzi ze statusem niezerowym. 

 -x Po rozwinięciu każdego prostego polecenia, dla polecenia, wielkość liter
 polecenie, wybierz polecenie lub arytmetyka dla polecenia, wyświetl
 rozszerzona wartość PS4, po której następuje polecenie i jego
 rozwinięte argumenty lub powiązana lista słów.

Innymi słowy, -epowoduje , że powłoka natychmiast się kończy, gdy tylko coś zwróci błąd (jest to często używane w skryptach powłoki jako mechanizm zabezpieczający przed awarią), i -xumożliwia pełne wykonywanie skryptów, dzięki czemu można zobaczyć, co się dzieje.

Larsks
źródło
10

Wpisz następujące polecenie na konsoli, aby uzyskać wyjaśnienie argumentów BASH:

bash -c "help set"

Odpowiedzieć na Twoje pytanie:

-e Wyjdź natychmiast, jeśli polecenie zakończy się ze statusem niezerowym.

-x Drukuj polecenia i ich argumenty podczas ich wykonywania.

Richard Keller
źródło
4

Z strony podręcznika :

Wszystkie jednoznakowe opcje powłoki udokumentowane w opisie wbudowanego polecenia set mogą być używane jako opcje podczas wywoływania powłoki.

Spójrz więc na wbudowany zestaw .

mgorven
źródło
2

Czy myślisz o rzeczach, w których robisz zestaw -x zestaw -e zestaw -...? bieganie help setdaje.

stawanie się
źródło
1
Myślę o zastosowanych parametrach, takich jak: #! / Bin / bash -xe
pomysłowy
0

Gdzie najlepiej jest przeczytać dokumentację na temat parametrów przekazywanych do bash, takich jak -x i -e? Wypróbowałem man 1 uderzenie, ale nie wydaje się, żeby było tam pokryte.

Przeczytaj sekcję OPCJE strony podręcznika basj.

fpmurphy
źródło
0

Używam doskonałej instrukcji obsługi Bash jako kompletnej dokumentacji dla języka Bash. Uważam, że jest to bardziej przydatne niż strony podręcznika. Odpowiednia sekcja dla ciebie (opis przełączników -e, -x można znaleźć tutaj: ustaw wbudowane

mzet
źródło