Eu sei que posso usar unset -f $FUNCTION_NAME
para desabilitar uma única função no bash/zsh, mas como faço para desabilitar todas as funções?
Responder1
Na zsh
casca, você podedesabilitartodas as funções usando
disable -f -m '*'
(literalmente, "desative cada função cujo nome corresponda *
").
Você pode então habilitá-los novamente com a enable
chamada análoga.
Você também pode usar unset
uma maneira semelhante para remover completamente as funções do ambiente atual:
unset -f -m '*'
Responder2
A matriz associativafunctions
contém todas as funções definidas (incluindo stubs de carregamento automático), então${(k)functions}
expande para a lista de nomes de funções definidas.
unset -f ${(k)functions}