Para ativar uma opção, podemos usar setopt
. por exemplo:
setopt extended_glob
Como podemos verificar se uma opção está ativada no momento?
Em zsh
, você pode usar setopt
para mostrar as opções ativadas e unsetopt
mostrar as que não estão ativadas:
$ setopt
autocd
histignorealldups
interactive
monitor
sharehistory
shinstdin
zle
$ unsetopt
noaliases
allexport
noalwayslastprompt
alwaystoend
noappendhistory
autocd
autocontinue
noautolist
noautomenu
autonamedirs
.....
Em bash
, você pode usar shopt -p
.
setopt
apenas imprime as opções não ativadas por padrão para esse modo de emulação.set -o
para a lista COMPLETA.Apenas use:
Isso também funciona
bash
, mas apenas para as opções definidas porset -o
, não as definidas porshopt
.zsh
possui apenas um conjunto de opções que podem ser definidas comsetopt
ouset -o
.Assim como com
bash
(ou qualquer shell POSIX), você também pode fazerset -o
ouset +o
ver as configurações atuais das opções.fonte
O
zsh/parameter
módulo, que faz parte da distribuição padrão, fornece uma matriz associativaoptions
que indica quais opções estão ativadas.Para opções que possuem um alias de uma letra (o que não é o caso
extended_glob
), você também pode verificar$-
.Observe que raramente é útil testar quais opções estão ativadas. Se você precisar ativar ou desativar uma opção em um trecho de código, coloque esse código em uma função e defina a
local_options
opção. Você pode chamar oemulate
built-in para redefinir as opções para um estado padrão.fonte