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?

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


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,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.