有没有办法编译shell脚本并内联输出其调用的函数定义?
具体来说,我要执行的是所有函数调用,解析其参数并使用扩展的变量内联其声明。
例如,采用以下脚本:
a() { b "$1" "$1"; }
b() { c; echo "$1 $2"; }
c() { echo C; }
i=0
a "$((i++))"
并返回:
a() { echo C; echo 1 1; }
请注意,提供给a
的参数是在函数调用之前计算得出的,以便最后给出输出echo 1 1
(因此,传递1
而不是传递定义{{1} })