Para habilitar una opción, podemos usar setopt. p.ej:
setopt extended_glob
¿Cómo podemos verificar si una opción está habilitada actualmente?
En zsh, puede usar setoptpara mostrar las opciones habilitadas y unsetoptpara mostrar cuáles no están habilitadas:
$ setopt
autocd
histignorealldups
interactive
monitor
sharehistory
shinstdin
zle
$ unsetopt
noaliases
allexport
noalwayslastprompt
alwaystoend
noappendhistory
autocd
autocontinue
noautolist
noautomenu
autonamedirs
.....
En bash, puedes usar shopt -p.
setoptsolo imprime las opciones no habilitadas por defecto para ese modo de emulación.set -opara la lista COMPLETA.Solo usa:
Eso también funciona
bash, pero solo para las opciones establecidas porset -o, no las establecidas porshopt.zshtiene solo un conjunto de opciones que se pueden configurar consetoptoset -o.Al igual que con
bash(o cualquier shell POSIX), también puede hacerset -ooset +over la configuración de opciones actual.fuente
El
zsh/parametermódulo, que forma parte de la distribución predeterminada, proporciona una matriz asociativaoptionsque indica qué opciones están activadas.Para las opciones que tienen un alias de una sola letra (que no es el caso de
extended_glob), también puede verificar$-.Tenga en cuenta que rara vez es útil probar qué opciones están habilitadas. Si necesita habilitar o deshabilitar una opción en un fragmento de código, coloque ese código en una función y configure la
local_optionsopción. Puede llamar alemulatebuiltin para restablecer las opciones a un estado predeterminado.fuente