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?

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.*) '
}

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.

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