Jawaban:
Gunakan type. Jika foobarmisalnya didefinisikan dalam Anda ~/.profile:
$ type foobar
foobar is a function
foobar {
echo "I'm foobar"
}
Ini memang mencari tahu apa foobaritu, dan jika itu didefinisikan sebagai fungsi itu panggilan declare -fseperti dijelaskan oleh pmohandras.
Untuk mencetak hanya isi dari fungsi (yaitu kode) gunakan sed:
type foobar | sed '1,3d;$d'
Anda dapat menampilkan definisi fungsi dalam bash menggunakan menyatakan. Sebagai contoh:
declare -f foobar
typeset -f
functiondefinisi, sehingga Anda tidak perlu mengurai jika itu yang Anda inginkan.
set | sed -n '/^foobar ()/,/^}/p'
Ini pada dasarnya mencetak garis-garis dari perintah set Anda mulai dengan nama fungsi foobar () dan diakhiri dengan}
set | grep -A999 '^foobar ()' | grep -m1 -B999 '^}'
dengan foobar menjadi nama fungsi.