Как я могу развернуть функцию удара, которая имеет внутренние функции в нем?

Предположим, что я получаю функцию myfunction определенный

myfunction(){
    myinnerfunction 
}

где myinnerfunction определяется как

myinnerfunction(){
    echo word
}

Я хотел бы найти эквивалент declare -f myfunction это отображает содержание внутренней функции myinnerfunction, т.е.

myfunction ()
{
    echo word
}

вместо

myfunction ()
{
    myinnerfunction
}

Теперь, что, если у меня есть внутренние псевдонимы вместо внутренних функций?

0
задан 17 September 2016 в 18:26

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
}
0
ответ дан 28 September 2019 в 13:58

Другие вопросы по тегам:

Похожие вопросы: