Comment supprimer / supprimer une fonction shell?


180

Je l'ai fait:

$ z() { echo 'hello world'; }

Comment m'en débarrasser?

Réponses:


271
unset -f z

Annulera la fonction nommée z. Quelques personnes ont répondu avec:

unset z

mais si vous avez une fonction et une variable nommée z, seule la variable sera annulée, pas la fonction.


Notez que cela s'applique à POSIX coquilles, non seulement Bash.
Franklin Yu

2

Dans Zsh:

unfunction z

C'est un autre nom (sans doute meilleur) pour unhash -f zou unset -f zet est cohérent avec le reste de la famille de:

  • unset
  • unhash
  • unalias
  • unlimit
  • unsetopt

En cas de doute sur de telles choses, tapez un<tab>pour voir la liste complète.

(Légèrement lié: Il est aussi agréable d'avoir des fonctions / alias comme realiases, refunctions, resetopts, reenv, etc à « transmettre les source» fichiers respectifs, si vous avez séparé / les avons regroupés en tant que tel.)

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.