Wie überprüfe ich die Shell-Optionen?

1

Ich möchte überprüfen, welche Optionen für meine aktuelle Shell aktiviert sind. Zum Beispiel möchte ich wissen, ob ich mit aufgerufen wurde -x oder -e oder eine beliebige Anzahl anderer Optionen.

ich source ein shell script mit shebang line #!/bin/bash -x und später versuchen, 'x' mit a auszuschalten set +x am Ende des Skripts. Jetzt möchte ich prüfen, ob meine set +x Leitung erfolgreich.

Versuchte Lösung

Ich habe entdeckt printenv und set Als Möglichkeit, einige Informationen über die aktuelle Shell zu überprüfen, scheint jedoch keine der beiden eine Variable zu enthalten, die gespeichert wird x e oder so ähnlich.

tarabyte
quelle
Ist dein echt Frage wirklich den letzten Satz in diesem Beitrag? Lesen Sie bitte xyproblem.info und erzähl uns mehr darüber, wenn dies das eigentliche Problem ist. Dadurch erhalten Sie bessere Antworten.
slhck
@slhck, danke für diesen Link. Ich habe versucht, mit einer besseren Frage zu aktualisieren.
tarabyte

Antworten:

1

Es ist in $- Variable.

Siehe die Dokumentation für die set Befehl - Scrollen Sie bis zum Ende und Sie sehen "Die aktuellen Optionen finden Sie in $-. "

Eine kurze Demo

$ bash
$ echo $-
himBH
$ set -f; set +H
$ echo $-
fhimB
$ [[ $- == *i* ]] && echo This is an interactive shell
This is an interactive shell
glenn jackman
quelle