Actualmente estoy haciendo algunas pruebas unitarias que se ejecutan desde bash. Las pruebas unitarias se inicializan, ejecutan y limpian en un script bash. Este script normalmente contiene una función init(), execute() y cleanup(). Pero no son obligatorios. Me gustaría probar si están o no definidos.Determine si existe una función en bash
Hice esto previamente greping y seleccionando la fuente, pero me pareció incorrecto. ¿Hay una manera más elegante de hacer esto?
Editar: La siguiente sniplet funciona como un encanto:
fn_exists()
{
type $1 | grep -q 'shell function'
}
Gracias. Utilicé esto para definir condicionalmente las versiones de funciones aplazadas al cargar una biblioteca de shell. 'fn_exists foo || foo() {:; } ' – Harvey