Odpowiedzi:
Z man bash(tak, jest to duża strona podręcznika, zwykle wyszukiwanie w Google jest szybsze):
-xPo rozwinięciu każdego prostego polecenia dla polecenia, przypadku, polecenia wyboru lub arytmetyki dla polecenia wyświetl rozwiniętą wartość PS4, a następnie polecenie i jego rozwinięte argumenty lub powiązaną listę słów.
Skutecznie: po uruchomieniu skryptu zostaną wyświetlone wszystkie działania wykonane w tym skrypcie. Więc wszystkie ifs, pętle i polecenia działają. Bardzo przydatne do debugowania.
-vDrukuj wiersze wprowadzania powłoki podczas ich odczytywania. Po uruchomieniu skryptu wydrukuje cały skrypt podczas odczytu pliku. Gdy korzystasz z powłoki interaktywnie, wyświetli ona każde polecenie po naciśnięciu enter.
Powyższe cytaty pochodzą z objaśnienia setwbudowanego polecenia w man bash, który wyjaśnia również, że opcje dla setmogą być również przekazywane jako argumenty (w wierszu shebang):
Opcje są domyślnie wyłączone, chyba że zaznaczono inaczej. Użycie
+zamiast-powoduje wyłączenie tych opcji. Opcje można również określić jako argumenty wywołania powłoki. Aktualny zestaw opcji można znaleźć w$-. Zwracany status jest zawsze prawdziwy, chyba że napotkano niepoprawną opcję.
/-xkilka razy dostaniesz się tam man(właściwie to less). Możesz powtórzyć ostatnie wyszukiwanie za pomocą /+ strzałki w górę, ale musisz /przewinąć stronę w dół, aby jakiekolwiek bieżące wyszukiwanie trafiło poza ekran ( wyszukiwanie do przodu, ?do tyłu).
nwyszukiwania do przodu i Ndo tyłu.
test -xpod EXPRESSIONS WARUNKOWE (trzeci hit), nie set -x. -xin man bashjest dość złym przypadkiem, więc uzyskanie bardziej szczegółowych informacji pomaga: jeśli użyjesz /^\s+-x\b(= początek linii + biała spacja + -x+ granica słowa), dostaniesz właściwy na 5 trafień ... byłoby to 4, gdyby nie fakt, że xpasują X... co prowadzi mnie do pytania, które chciałem zadać . W każdym razie, w / większość stron podręcznika, ^\s+-x\bwzorzec powinien najpierw działać dla przełączników.
Strona bash człowiek robi aluzję, że te opcje są wyjaśnione dalej w dół, faktycznie, ale to łatwo przeoczyć.
Dlatego twój problem powinien w rzeczywistości brzmieć: Sekcja OPCJE strony podręcznika bash jest niekompletna. Odpowiedzią byłoby ich duplikowanie lub wyróżnienie pierwszej sekcji sekcji OPCJE:
OPTIONS
All of the single-character shell options documented in the descrip‐
tion of the set builtin command can be used as options when the shell
is invoked. [ ... ]
Wreszcie, aby to zakończyć: są standardowymi opcjami dla dowolnej powłoki POSIX do pokazywania kodu skryptu podczas odczytu ( -v) i uruchamiania ( -x). Dane wyjściowe pojawią się na stderr.