Ich habe das set -x
Terminal eingegeben .
Jetzt druckt das Terminal den zuletzt ausgeführten Befehl über meine Ausgabe, also den Befehl
~]$echo "this is what I see"
kehrt zurück
+ echo 'this is what I see'
this is what I see
Es gibt keine Manpage für set
, wie schalte ich set -x
aus?
set
builtin
Da es sich um einen Shell- Befehl handelt (zumindest in bash), finden Sie die Dokumentation in der man-Seite von bash. Durchsuche die Manpage nach/^ *SHELL BUILTIN COMMANDS
, um alles überset
und seine Freunde zu lesen !man
Seite fürset
! Es ist Teil des POSIX-Programmierhandbuchs ... Sie sollten diese Serie wirklich haben ... bitte?help set
.Antworten:
Verwenden Sie
set +x
. Mehr Informationen:Da
set
es sich um eine eingebaute Shell handelt, wird dies in der Dokumentation Ihrer Shell dokumentiert.Beachten Sie, dass einige Systeme Manpages für Shell-Builtins haben, diese Manpages jedoch nur dann korrekt sind, wenn Sie die Standard-Shell verwenden. Unter Linux verfügen Sie möglicherweise über Manpages mit POSIX-Befehlen, die für Shell-Built-Ins angezeigt werden, da es keine Manpage eines eigenständigen Dienstprogramms gibt, mit dem sie gespiegelt werden können. Diese Manpages sind für alle Shells im Bourne-Stil (dash, bash, * ksh und sogar zsh) korrekt, jedoch in der Regel unvollständig.
Tipps zur Suche nach einem in eine lange Shell-Manpage eingebauten Element finden Sie unter Lesen und Durchsuchen langer Manpages .
In diesem Fall ist die Antwort für alle Bourne-Shells gleich. Wenn eine Option aktiviert ist, wird sie deaktiviert. Somit werden Spuren ausgeschaltet. Der letzte gelesene Trace ist unvermeidlich (außer wenn die Shell beendet wird - manchmal können Sie eine Subshell verwenden ).
set -LETTER
set +LETTER
set +x
set +x
(set -x; command to trace; other command to trace); command that is not traced
quelle
{ set +x ;} 2> /dev/null
verbirgt denset +x
Trace (funktioniert aber in der Bourne-Shell nicht). Einige Shells geben immer noch ein "+ 2> /dev/null
obwohl" aus.Sie können den Debugging-Modus beenden, indem Sie auf klicken
set +x
. Siehe Beispiel Seitequelle
Sie haben den Debug-Modus aktiviert und müssen ihn deaktivieren.
Auszug aus dem Formular
help set
:Also tippe
set +x
quelle
Sie können eine Manpage nicht finden
set
, wie Sie unten sehen:set
ist eine spezielle Shell eingebaut. Obwohl dies auf der Manpage für Ihre Shell dokumentiert ist, können Sie mit beiden auch eine spezifische Dokumentation erhaltenDie Handbuchseite zu bash oder sh ist eine gute Lektüre, aber es ist etwas lang, sie zu klären. Die effektiven Informationen, die Sie zum Deaktivieren benötigen,
-x
befinden sich am Ende vorExit Status:
und lauten:quelle
help set
lesen, und ging einfach hin und las sie. Ich habe versucht, die akzeptierte Antwort zu verbessern. unix.stackexchange.com/revisions/149137/4 Es wurde akzeptiert, aber dann abgelehnt. Wie ein Nachrichtenartikel beginnt er mit den wichtigsten Informationen und geht davon aus, dass der Leser an jedem Punkt aufhören kann, wobei jeder nächste Satz und Absatz weniger wichtig ist als das Verfahren. Es ist mein SO-Stil unter Unix.