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 -t
i ==
.
type test_function
mówi test_function on funktio.
podczas korzystania z fińskich ustawień regionalnych i ist eine Funktion
podczas używania języka niemieckiego.
LC_ALL=C
do resque
fn_exists foo || foo() { :; }