Компиляция скриптовых функций - PullRequest
0 голосов
/ 01 октября 2018

Есть ли способ скомпилировать скрипт оболочки и вывести встроенные определения его вызываемых функций?

В частности, я хочу принять все вызовы функций, проанализировать их аргументы и встроить их объявление, используя расширенные переменные.

Например, взяв этот скрипт:

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 передается вместо передачи определения $((i++)))

...