Wyświetl aktualną definicję funkcji powłoki

11

Dlatego ciągle edytuję bashrc i mam otwarty terminal z działającą definicją funkcji, chociaż bashrc zostało zaktualizowane z błędną definicją funkcji. (Ponieważ definicja nie zmienia się, dopóki nie otrzymam zaktualizowanego bashrc) Jak w tym przypadku mogę wyszukać definicję działającej funkcji? Na przykład, jeśli napiszę:

alias function_name

Widzę, jaka jest definicja tego aliasu. Czy istnieje podobne polecenie dla funkcji? Jeśli nie, to czy istnieje polecenie do wypisania całego bashrc, którego używa obecny terminal?

Myśliciel
źródło

Odpowiedzi:

18
typeset -f function

wyświetla aktualną definicję wskazanej funkcji. Działa w ksh (skąd pochodzi), bash i zsh. (Uwaga: w zsh, type -f, which, functionsa whence -ftakże przedstawiają definicje funkcji).

Kevin
źródło
Możesz także użyć whence -cvw Zsh. -vRozwiązaniem jest powiedzieć, czy tam nie jest taki alias lub funkcję (lub inaczej wykonywalny w was PATH) w ogóle. Jeśli często go używasz (tak jak ja), możesz użyć aliasu do polecenia składającego się z jednego słowa.
Emanuel Berg,