¿Cómo desactivo todas las funciones en zsh?

¿Cómo desactivo todas las funciones en zsh?

Sé que puedo usar unset -f $FUNCTION_NAMEpara desarmar una sola función en bash/zsh, pero ¿cómo desarmo todas las funciones?

Respuesta1

En el zshcaparazón, puedesdesactivartodas las funciones usando

disable -f -m '*'

(literalmente, "deshabilitar cada función cuyo nombre coincida *").

Luego podrá habilitarlos nuevamente con la enablellamada análoga.

También puede utilizar unsetde forma similar para eliminar completamente las funciones del entorno actual:

unset -f -m '*'

Respuesta2

La matriz asociativafunctionscontiene todas las funciones definidas (incluidos los códigos auxiliares de carga automática), por lo que${(k)functions}se expande a la lista de nombres de funciones definidas.

unset -f ${(k)functions}

información relacionada