получить список имен функций в скрипте оболочки [дубликаты]
На этот вопрос уже есть ответ:
Как мне перечислить функции, определенные в моей оболочке? 6 ответовУ меня есть сценарий Bourne Shell, в котором есть несколько функций, и который можно вызывать следующим образом:
my.sh <func_name> <param1> <param2>
Внутри func_name () будет вызываться с param1 и param2.
Я хочу создать «справочную» функцию, которая бы просто перечисляла все доступные функции, даже без параметров.
Вопрос: как мне получить список всех имен функций в скрипте из скрипта?
Я бы хотел не анализировать его и не искать шаблоны функций. Слишком легко ошибиться.
Спасибо, Алекс
update: код. Хотел бы, чтобы моя функция help () была похожа на main () - функция, добавленная в код, добавляется в справку автоматически.
#!/bin/sh
# must work with "set -e"
foo ()
{
echo foo: -$1-$2-$3-
return 0
}
# only runs if there are parameters
# exits
main ()
{
local cmd="$1"
shift
local rc=0
$cmd "$@" || rc=$?
exit $rc
}
if [[ "$*" ]]
then
main "$@"
die "how did we get here?"
fi