myfunction
假设我获取由以下函数定义的函数
myfunction(){
myinnerfunction
}
其中myinnerfunction
定义为
myinnerfunction(){
echo word
}
我想找到一个等价的declare -f myfunction
显示内部函数的内容myinnerfunction
,即
myfunction ()
{
echo word
}
代替
myfunction ()
{
myinnerfunction
}
现在,如果我有内部别名而不是内部函数会怎么样?
答案1
这是一个简短的脚本,用于搜索内部函数并同时定义它们(仅 1 个深度级别)
function declare-recursively () {
declare -f $@
declare -f | grep ' () {' | sed 's/ () {//' | while read i
do
declare -f $@ | grep -Po "[\t, ]$i " | while read j
do
declare -f $j
done
done
}