Visualizza il corpo della funzione in Bash


14

Ho impostato diverse funzioni nel mio .bashrcfile. Vorrei solo visualizzare il codice effettivo della funzione e non eseguirlo, per fare rapidamente riferimento a qualcosa.

C'è un modo, potremmo vedere la definizione della funzione?

Risposte:


15

L' opzione declareintegrata -fconsente di:

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

Uso typea tale scopo, è più breve da digitare;)

bash-4.2$ type apropos1
apropos1 is a function
apropos1 () 
{ 
    apropos "$@" | grep ' (1.*) '
}

6

Puoi usare il typecomando per farlo.

type yourfuncstamperà la funzione su STDOUT. Come man typedice

L'utilità di tipo deve indicare come ogni argomento verrebbe interpretato se utilizzato come nome di comando.

2
man type? I builtin di Shell di solito non hanno una pagina man sul mio sistema.
arte

Ho aggiornato la mia risposta con un link. Il sistema che utilizzo è Arch Linux.
Jasonwryan,

1
Grazie. Sembra che il pacchetto man-pages contenga molto di più su Arch.
arte

Nessun problema: dato che è una delle pagine man POSIX, ho pensato che sarebbe stato ampiamente distribuito ...
Jasonwryan,

4
help typemostra le informazioni specifiche di Bash.
l0b0,

0

per l'uso delle informazioni dei comandi integrati:

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

per esempio:

help help alias

Per informazioni su tutti loro digitare, ad esempio:

help -s '' 
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.