是否有一种在bash中查看bash函数定义的方法?
例如,我定义了函数foobar
function foobar {
echo "I'm foobar"
}
是否有任何方法可以稍后获得foobar运行的代码?
$ # non-working pseudocode
$ echo $foobar
echo "I'm foobar"
是否有一种在bash中查看bash函数定义的方法?
例如,我定义了函数foobar
function foobar {
echo "I'm foobar"
}
是否有任何方法可以稍后获得foobar运行的代码?
$ # non-working pseudocode
$ echo $foobar
echo "I'm foobar"
使用类型。如果foobar在~/.profile中定义:
$ type foobar
foobar is a function
foobar {
echo "I'm foobar"
}
这确实找出了foobar是什么,如果它被定义为一个函数,它就调用declare -f,如pmohandras所解释的那样。
要打印出函数体(即代码),请使用sed:
type foobar | sed '1,3d;$d'