Risposte:
Corri:
$ shopt extglob
Restituirà lo stato corrente:
$ shopt extglob
extglob on
$ shopt -u extglob
$ shopt extglob
extglob off
Per mostrare tutte le opzioni, basta eseguire:
$ shopt
Usa shopt -q :
shopt -q extglob && echo enable || echo disable
-qopzione crea l' shoptoutput di scarto e restituisce lo stato per indicare che le opzioni sono impostate o non impostate.
Nota che shoptriporta solo le opzioni che possono apparire in BASHOPTSvariabili, quelle opzioni non sono valide per il setcomando incorporato.
Per verificare le opzioni valide seto che possono essere visualizzate in SHELLOPTS, utilizzare shopt -qo:
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob?
shopt extglobe il tuo approccio scriveranno su stdout. Stai pensando shopt -q extglob && shopt -u extglob || shopt -s extglob?
shopt -q extglob && : Code when enable || : Code when disable.
Ci sono due elenchi di opzioni in bash. Uno per shopte uno per set.
L'opzione extglobappartiene shoptall'elenco.
Il suo valore può essere stampato usando shopt extglobo shopt -p extglob.
Un'opzione come nounsetappartiene setall'elenco.
Il suo valore può essere stampato usando shopt -op nounseto shopt -o nounset.
Per stampare un'opzione specifica (senza modificarla) per shopt, utilizzare shopt -p name:
$ shopt -p xpg_echo
shopt -u xpg_echo
E per set, utilizzare: shopt -po name(sì, è possibile utilizzare shopt -opper l' setelenco).
$ shopt -po xtrace
set +o xtrace
Per elencare tutte le opzioni di shopt, utilizzare shopt(o riutilizzabile shopt -p).
Inoltre shopt -so shopt -upotrebbe essere utilizzato.
Il modo per elencare tutte le opzioni setè con set -o(relativo:) set +o.
Oppure: shopt -oequivale a set -oed shopt -opè set +o.
Da LESS=+/'^ *shopt \[' man bash:
Senza opzioni o con l'opzione -p, viene visualizzato un elenco di tutte le opzioni impostabili. Se -s o -u viene utilizzato senza argomenti optname, la visualizzazione è limitata a quelle opzioni impostate o non impostate, rispettivamente.
Da LESS=+/'^ *set \[' man bash:
Se -o viene fornito senza nome-opzione, vengono stampati i valori delle opzioni correnti. Se + o viene fornito senza nome-opzione, sull'output standard viene visualizzata una serie di comandi impostati per ricreare le impostazioni delle opzioni correnti.
$ 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
E
$ 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
Vale la pena menzionare shopt -opquale effettivamente elenca le setopzioni:
$ 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 extglobo, se lo vuoi, corrishopt -u extglob. Non fa alcuna differenza se era originariamente acceso o no.