Voir la définition actuelle de la fonction shell

11

Je modifie donc bashrc en permanence et j'ai un terminal ouvert avec une définition de fonction fonctionnelle, bien que bashrc ait été mis à jour avec une définition de fonction incorrecte. (Parce que la définition ne change pas tant que je n'ai pas trouvé le bashrc mis à jour) Comment puis-je rechercher la définition de la fonction de travail dans ce cas? Par exemple, si je tape:

alias function_name

Je peux voir quelle est la définition de cet alias. Existe-t-il une commande similaire pour la fonction? Sinon, existe-t-il une commande pour générer l'intégralité du bashrc que le terminal actuel utilise?

Prévoyant
la source

Réponses:

18
typeset -f function

affiche la définition actuelle de la fonction indiquée. Il fonctionne en ksh (d'où il est originaire), bash et zsh. (nb dans zsh, type -f, which, functionset whence -fmontrent également la définition de la fonction.)

Kevin
la source
Vous pouvez également utiliser whence -cvdans zsh. L' -voption est de vous dire s'il n'y a pas d'alias ou de fonction (ou autrement exécutable en vous PATH). Si vous l'utilisez beaucoup (comme moi), vous pouvez l'aliaser en une commande d'un mot.
Emanuel Berg