Can bash show a function's definition? Can bash show a function's definition? bash bash

Can bash show a function's definition?


Use type. If foobar is e.g. defined in your ~/.profile:

$ type foobarfoobar is a functionfoobar {    echo "I'm foobar"}

This does find out what foobar was, and if it was defined as a function it calls declare -f as explained by pmohandras.

To print out just the body of the function (i.e. the code) use sed:

type foobar | sed '1,3d;$d'


You can display the definition of a function in bash using declare. For example:

declare -f foobar


set | sed -n '/^foobar ()/,/^}/p'

This basically prints the lines from your set command starting with the function name foobar () and ending with }