Réponses:
Exécutez simplement:
$ shopt extglob
Il renverra l'état actuel:
$ shopt extglob
extglob on
$ shopt -u extglob
$ shopt extglob
extglob off
Pour afficher toutes les options, lancez simplement:
$ shopt
Utilisez shopt -q :
shopt -q extglob && echo enable || echo disable
-qoption shoptannule la sortie et renvoie l'état pour indiquer que les options sont définies ou désactivées.
Notez que shoptseules les options de rapports qui peuvent apparaître en BASHOPTSvariable, ces options ne sont pas valides pour la setcommande intégrée.
Pour vérifier les options valides setou pouvant apparaître dans SHELLOPTS, utilisez shopt -qo:
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob?
shopt extglobet votre approche écriront sur stdout. Pensez-vous shopt -q extglob && shopt -u extglob || shopt -s extglob?
shopt -q extglob && : Code when enable || : Code when disable.
Il y a deux listes d'options dans bash. Un pour shoptet un pour set.
L'option extglobappartient à la shoptliste.
Sa valeur peut être imprimée en utilisant soit shopt extglobou shopt -p extglob.
Une option comme nounsetappartient à la setliste.
Sa valeur peut être imprimée en utilisant shopt -op nounsetou shopt -o nounset.
Pour imprimer une option spécifique (sans la modifier) pour shopt, utilisez shopt -p name:
$ shopt -p xpg_echo
shopt -u xpg_echo
Et pour set, utilisez: shopt -po name(oui, vous pouvez utiliser shopt -oppour la setliste).
$ shopt -po xtrace
set +o xtrace
Pour lister toutes les options de shopt, utilisez shopt(ou réutilisables shopt -p).
Aussi shopt -sou shopt -upourrait être utilisé.
La manière de lister toutes les options setest avec set -o(lié:) set +o.
Ou: shopt -oest équivalent à set -oet shopt -opest à set +o.
De LESS=+/'^ *shopt \[' man bash:
Sans aucune option ou avec l'option -p, une liste de toutes les options configurables s'affiche. Si -s ou -u est utilisé sans argument optname, l'affichage est limité aux options définies ou non, respectivement.
De LESS=+/'^ *set \[' man bash:
Si -o est fourni sans nom d'option, les valeurs des options actuelles sont imprimées. Si + o est fourni sans nom d'option, une série de commandes set pour recréer les paramètres d'option actuels s'affiche sur la sortie standard.
$ 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
Et
$ 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
Il convient de mentionner la shopt -opliste des setoptions:
$ 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 extglobou, si vous le souhaitez, exécutez-leshopt -u extglob. Cela ne fait aucune différence que ce soit à l'origine ou non.