Obecnie przeprowadzam kilka testów jednostkowych wykonywanych z poziomu bash. Testy jednostkowe są inicjowane, wykonywane i czyszczone w skrypcie bash. Ten skrypt zwykle zawiera funkcje init (), execute () i cleanup (). Ale nie są obowiązkowe. Chciałbym sprawdzić, czy są, czy nie są zdefiniowane.
Zrobiłem to wcześniej, szukając źródła i szukając źródła, ale wydawało się to złe. Czy jest na to bardziej elegancki sposób?
Edycja: Poniższy fragment kodu działa jak urok:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -ti ==.
type test_functionmówi test_function on funktio.podczas korzystania z fińskich ustawień regionalnych i ist eine Funktionpodczas używania języka niemieckiego.
LC_ALL=Cdo resque
fn_exists foo || foo() { :; }