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 setopt
para mostrar las opciones habilitadas y unsetopt
para 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
.
setopt
solo imprime las opciones no habilitadas por defecto para ese modo de emulación.set -o
para la lista COMPLETA.Solo usa:
Eso también funciona
bash
, pero solo para las opciones establecidas porset -o
, no las establecidas porshopt
.zsh
tiene solo un conjunto de opciones que se pueden configurar consetopt
oset -o
.Al igual que con
bash
(o cualquier shell POSIX), también puede hacerset -o
oset +o
ver la configuración de opciones actual.fuente
El
zsh/parameter
módulo, que forma parte de la distribución predeterminada, proporciona una matriz asociativaoptions
que 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_options
opción. Puede llamar alemulate
builtin para restablecer las opciones a un estado predeterminado.fuente