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?

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.)


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
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.