Antworten:
Von man bash
(ja, es ist eine große Manpage, normalerweise ist die Google-Suche schneller):
-x
Zeigen Sie nach dem Erweitern jedes einfachen Befehls für Befehl, Groß- / Kleinschreibung, Auswahlbefehl oder Arithmetik für Befehl den erweiterten Wert von PS4 an, gefolgt von dem Befehl und seinen erweiterten Argumenten oder der zugehörigen Wortliste.
Effektiv: Wenn Sie ein Skript ausführen, werden alle in diesem Skript ausgeführten Aktionen angezeigt. Also laufen alle Wenns, Schleifen und Befehle. Sehr nützlich zum Debuggen.
-v
Shell-Eingabezeilen beim Lesen drucken. Wenn ein Skript ausgeführt wird, wird das gesamte Skript beim Lesen der Datei gedruckt. Wenn Sie die Shell interaktiv verwenden, wird jeder Befehl nach dem Drücken der Eingabetaste angezeigt.
Die obigen Anführungszeichen stammen aus der Erklärung des set
eingebauten Befehls in der man bash
, was auch erklärt, dass die Optionen für set
auch als Argumente übergeben werden können (in der Shebang-Zeile):
Sofern nicht anders angegeben, sind die Optionen standardmäßig deaktiviert. Mit
+
eher als-
Ursachen diese Optionen deaktiviert werden. Die Optionen können auch als Argumente für einen Aufruf der Shell angegeben werden. Die aktuellen Optionen finden Sie in$-
. Der Rückgabestatus ist immer wahr, sofern keine ungültige Option angetroffen wird.
/-x
ein paar Mal werden Sie dorthin gelangen man
(eigentlich ist es less
). Sie können die letzte Suche mit /
+ Aufwärtspfeil wiederholen , aber Sie müssen nach unten blättern, um einen aktuellen Suchtreffer vom Bildschirm zu bekommen ( /
ist Vorwärtssuche, ?
ist Rückwärtssuche).
n
Vorwärtssuche und die N
Rückwärtssuche verwenden.
test -x
unter CONDITIONAL EXPRESSIONS (der dritte Hit) gesucht , nicht set -x
. -x
In man bash
einem ziemlich schlechten Fall hilft es also, genauere Informationen zu erhalten: Wenn Sie verwenden /^\s+-x\b
(= Zeilenanfang + Leerzeichen + -x
+ Wortgrenze), gelangen Sie in 5 Treffern zum richtigen ... es wären 4 gewesen, aber die Tatsache x
stimmt überein X
... was mich zu einer Frage führt, die ich eigentlich stellen wollte . Wie auch immer, mit den meisten Manpages sollte das ^\s+-x\b
Muster zuerst für Switches funktionieren.
Die Bash-Manpage deutet zwar an, dass diese Optionen weiter unten erläutert werden, sie werden jedoch leicht übersehen.
Daher sollte Ihr Problem eigentlich lauten: Der Abschnitt OPTIONEN der Bash-Manpage ist unvollständig. Die Antwort wäre, sie entweder zu duplizieren oder den ersten Abschnitt des Abschnitts OPTIONEN zu markieren:
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. [ ... ]
Zum Abschluss: Dies sind Standardoptionen für jede POSIX-Shell, mit denen der Code des Skripts beim Lesen ( -v
) und beim Ausführen ( -x
) angezeigt wird. Die Ausgabe erscheint auf stderr.