Wyświetl treść funkcji w Bash

14

W moim .bashrcpliku skonfigurowałem kilka funkcji . Chciałbym tylko wyświetlić aktualny kod funkcji i nie wykonywać go, aby szybko do czegoś odwołać.

Czy jest jakiś sposób, byśmy mogli zobaczyć definicję funkcji?

Mtk
źródło

Odpowiedzi:

15

Na declarewbudowanych jest -fopcja robi, że:

bash-4.2$ declare -f apropos1
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

Używam typedo tego celu, krótsze jest pisanie;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}
człowiek w pracy
źródło
6

Możesz to zrobić za pomocą typepolecenia.

type yourfuncwypisze funkcję do STDOUT. Jak man typemówi

Narzędzie typu wskazuje, w jaki sposób interpretowany byłby każdy argument, gdyby był użyty jako nazwa polecenia.
jasonwryan
źródło
2
man type? Wbudowane powłoki zwykle nie mają strony podręcznika w moim systemie.
manatwork
Zaktualizowałem swoją odpowiedź za pomocą linku. System, którego używam, to Arch Linux.
jasonwryan
1
Dziękuję Ci. Wygląda na to, że pakiet man-pages zawiera znacznie więcej na Arch.
manatwork
Nie ma problemu: ponieważ jest to jedna ze stron podręcznika POSIX, pomyślałem, że będzie szeroko rozpowszechniona ...
jasonwryan 27.12.
4
help typepokazuje informacje specyficzne dla Bash.
l0b0
0

do informacji wbudowanych poleceń użyj:

help [-s|-d] COMMAND1 COMMAND2 ....

na przykład:

help help alias

Aby uzyskać informacje o wszystkich z nich, wpisz na przykład:

help -s '' 
Robert
źródło