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
-q
option shopt
annule la sortie et renvoie l'état pour indiquer que les options sont définies ou désactivées.
Notez que shopt
seules les options de rapports qui peuvent apparaître en BASHOPTS
variable, ces options ne sont pas valides pour la set
commande intégrée.
Pour vérifier les options valides set
ou pouvant apparaître dans SHELLOPTS
, utilisez shopt -qo
:
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob
?
shopt extglob
et 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 shopt
et un pour set
.
L'option extglob
appartient à la shopt
liste.
Sa valeur peut être imprimée en utilisant soit shopt extglob
ou shopt -p extglob
.
Une option comme nounset
appartient à la set
liste.
Sa valeur peut être imprimée en utilisant shopt -op nounset
ou 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 -op
pour la set
liste).
$ shopt -po xtrace
set +o xtrace
Pour lister toutes les options de shopt, utilisez shopt
(ou réutilisables shopt -p
).
Aussi shopt -s
ou shopt -u
pourrait être utilisé.
La manière de lister toutes les options set
est avec set -o
(lié:) set +o
.
Ou: shopt -o
est équivalent à set -o
et shopt -op
est à 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 -op
liste des set
options:
$ 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 extglob
ou, si vous le souhaitez, exécutez-leshopt -u extglob
. Cela ne fait aucune différence que ce soit à l'origine ou non.