Antworten:
Lauf einfach:
$ shopt extglob
Es wird der aktuelle Status zurückgegeben:
$ shopt extglob
extglob on
$ shopt -u extglob
$ shopt extglob
extglob off
Um alle Optionen anzuzeigen, führen Sie einfach Folgendes aus:
$ shopt
Verwenden Sie shopt -q :
shopt -q extglob && echo enable || echo disable
-qMit dieser Option können Sie die shoptAusgabe verwerfen und den Status zurückgeben, um anzuzeigen, dass die Optionen aktiviert oder deaktiviert sind.
Beachten Sie, dass shoptnur Optionen gemeldet BASHOPTSwerden, die in Variablen setangezeigt werden können. Diese Optionen sind für den integrierten Befehl nicht gültig .
Verwenden Sie Folgendes, um nach Optionen zu suchen, die für Folgendes gültig setsind oder darin angezeigt werden können :SHELLOPTSshopt -qo
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob?
shopt extglobund Ihr Ansatz schreiben an stdout. Denken Sie an shopt -q extglob && shopt -u extglob || shopt -s extglob?
shopt -q extglob && : Code when enable || : Code when disable.
Es gibt zwei Listen mit Optionen in Bash. Eins für shoptund eins für set.
Die Option extglobgehört zur shoptListe.
Sein Wert kann entweder mit shopt extgloboder gedruckt werden shopt -p extglob.
Eine Option wie nounsetgehört zur setListe.
Sein Wert kann mit shopt -op nounsetoder gedruckt werden shopt -o nounset.
Verwenden Sie Folgendes, um eine bestimmte Option (ohne sie zu ändern) für shopt zu drucken shopt -p name:
$ shopt -p xpg_echo
shopt -u xpg_echo
Und für set, verwenden Sie: shopt -po name(ja, Sie können shopt -opfür setListe verwenden).
$ shopt -po xtrace
set +o xtrace
Verwenden Sie shopt(oder wiederverwendbar shopt -p) , um alle Optionen von shopt aufzulisten .
Auch shopt -soder shopt -ukönnte verwendet werden.
Die Möglichkeit, alle Optionen aufzulisten, setist mit set -o(verwandt :) set +o.
Oder: shopt -oist gleichbedeutend mit set -ound shopt -opist zu set +o.
Von LESS=+/'^ *shopt \[' man bash:
Ohne Optionen oder mit der Option -p wird eine Liste aller einstellbaren Optionen angezeigt. Wenn entweder -s oder -u ohne optname-Argumente verwendet wird, ist die Anzeige auf die Optionen beschränkt, die festgelegt bzw. nicht festgelegt sind.
Von LESS=+/'^ *set \[' man bash:
Wenn -o ohne Optionsnamen angegeben wird, werden die Werte der aktuellen Optionen gedruckt. Wenn + o ohne Optionsnamen angegeben wird, wird in der Standardausgabe eine Reihe von Set-Befehlen zum Wiederherstellen der aktuellen Optionseinstellungen angezeigt.
$ set -o
allexport off
braceexpand on
emacs on
errexit off
errtrace off
functrace off
hashall on
histexpand on
history on
ignoreeof off
interactive-comments on
keyword off
monitor on
noclobber off
noexec off
noglob off
nolog off
notify off
nounset off
onecmd off
physical off
pipefail off
posix off
privileged off
verbose off
vi off
xtrace off
Und
$ shopt -sp
shopt -s checkwinsize
shopt -s cmdhist
shopt -s expand_aliases
shopt -s extglob
shopt -s extquote
shopt -s force_fignore
shopt -s histappend
shopt -s histverify
shopt -s interactive_comments
shopt -s progcomp
shopt -s promptvars
shopt -s sourcepath
Es ist erwähnenswert, shopt -opwelche setOptionen tatsächlich aufgelistet sind :
$ shopt -op
set +o allexport
set -o braceexpand
set -o emacs
set +o errexit
set +o errtrace
set +o functrace
set -o hashall
set -o histexpand
set -o history
set +o ignoreeof
set -o interactive-comments
set +o keyword
set -o monitor
set +o noclobber
set +o noexec
set +o noglob
set +o nolog
set +o notify
set +o nounset
set +o onecmd
set +o physical
set +o pipefail
set +o posix
set +o privileged
set +o verbose
set +o vi
set +o xtrace
shopt -s extgloboder, wenn Sie es deaktivieren möchten, führen Sie es ausshopt -u extglob. Es macht überhaupt keinen Unterschied, ob es ursprünglich eingeschaltet war oder nicht.