Ich habe ein paar Shell-Skripte mit dem folgenden Shebang gesehen:
#!/bin/bash -x -v
Jedoch man bash
nicht erklären , was diese Argumente -x
und -v
stehen, wenn sie gehören sind bash
überhaupt nicht .
Was bedeuten diese -x
und -v
(und andere mögliche) Argumente?
/-x
ein paar Mal werden Sie dorthin gelangenman
(eigentlich ist esless
). 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 dieN
Rückwärtssuche verwenden.test -x
unter CONDITIONAL EXPRESSIONS (der dritte Hit) gesucht , nichtset -x
.-x
Inman 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 Tatsachex
stimmt übereinX
... 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:
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.quelle