Предположим, что я получаю функцию myfunction
определенный
myfunction(){
myinnerfunction
}
где myinnerfunction
определяется как
myinnerfunction(){
echo word
}
Я хотел бы найти эквивалент declare -f myfunction
это отображает содержание внутренней функции myinnerfunction
, т.е.
myfunction ()
{
echo word
}
вместо
myfunction ()
{
myinnerfunction
}
Теперь, что, если у меня есть внутренние псевдонимы вместо внутренних функций?
Вот короткий сценарий, который ищет внутреннюю функцию, и определите их одновременно (только 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
}