В настоящее время я делаю некоторые модульные тесты, которые выполняются из Bash. Модульные тесты инициализируются, выполняются и очищаются в bash-скрипте. Этот скрипт обычно содержит функции init(), execute() и cleanup(). Но они не обязательны. Я хотел бы проверить, определены они или нет.
Раньше я делал это с помощью поиска и подмены источника, но это казалось неправильным. Есть ли более элегантный способ сделать это?
Изменение: следующий фрагмент работает как шарм:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}