回答:
を使用しtype
ます。foobar
たとえば、次のように定義されている場合~/.profile
:
$ type foobar
foobar is a function
foobar {
echo "I'm foobar"
}
これは何であるかfoobar
を調べ、それが関数として定義されている場合declare -f
、pmohandrasで説明されているように呼び出します。
関数の本体(コード)だけを出力するには、次のコードを使用しますsed
。
type foobar | sed '1,3d;$d'
set | sed -n '/^foobar ()/,/^}/p'
これは基本的に、関数名foobar()で始まり、}で終わる、setコマンドの行を出力します。
set | grep -A999 '^foobar ()' | grep -m1 -B999 '^}'
foobarは関数名です。