bash で bash 関数の定義を表示する方法はありますか?
例えば、関数を定義したとしますfoobar
function foobar {
echo "I'm foobar"
}
後で実行されるコードを取得する方法はありますかfoobar
?
$ # non-working pseudocode
$ echo $foobar
echo "I'm foobar"
ベストアンサー1
を使用します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'