Respostas:
Apenas corra:
$ shopt extglob
Ele retornará o status atual:
$ shopt extglob
extglob on
$ shopt -u extglob
$ shopt extglob
extglob off
Para mostrar todas as opções, basta executar:
$ shopt
Use shopt -q :
shopt -q extglob && echo enable || echo disable
-qA opção shoptdescarta a saída e retorna o status para indicar que as opções estão definidas ou não.
Observe que shoptapenas as opções de relatórios que podem aparecer na BASHOPTSvariável, essas opções não são válidas para o setcomando interno.
Para verificar as opções que são válidas setou que podem aparecer SHELLOPTS, use shopt -qo:
$ bash --posix -c 'shopt -qo posix && echo enable || echo disable'
enable
shopt extglob?
shopt extglobe sua abordagem gravam no stdout. Você está pensando shopt -q extglob && shopt -u extglob || shopt -s extglob?
shopt -q extglob && : Code when enable || : Code when disable.
Existem duas listas de opções no bash. Um para shopte um para set.
A opção extglobpertence à shoptlista.
Seu valor pode ser impresso usando shopt extglobou shopt -p extglob.
Uma opção como nounsetpertence à setlista.
Seu valor pode ser impresso usando shopt -op nounsetou shopt -o nounset.
Para imprimir uma opção específica (sem alterá-la) para shopt, use shopt -p name:
$ shopt -p xpg_echo
shopt -u xpg_echo
E para set, use: shopt -po name(sim, você pode usar shopt -oppara setlista).
$ shopt -po xtrace
set +o xtrace
Para listar todas as opções do shopt, use shopt(ou reutilizável shopt -p).
Também shopt -sou shopt -upode ser usado.
A maneira de listar todas as opções seté com set -o(relacionado set +o:).
Ou: shopt -oé equivalente a set -oe shopt -opé para set +o.
De LESS=+/'^ *shopt \[' man bash:
Sem opções ou com a opção -p, é exibida uma lista de todas as opções configuráveis. Se -s ou -u for usado sem argumentos optname, a exibição será limitada às opções definidas ou não, respectivamente.
De LESS=+/'^ *set \[' man bash:
Se -o for fornecido sem o nome da opção, os valores das opções atuais serão impressos. Se + o for fornecido sem o nome da opção, uma série de comandos set para recriar as configurações atuais da opção será exibida na saída padrão.
$ 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 mencionar sobre o shopt -opque realmente lista as setopções:
$ 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, se quiser, executarshopt -u extglob. Não faz nenhuma diferença se foi originalmente ou não.