¿Cómo puedo determinar si una función ya está definida en un script bash?Compruebe si existe una función desde un script bash
Estoy intentando hacer que mi script .bash_login sea portátil entre sistemas, por lo que quiero agregar lógica para llamar solo a una función si existe.
Quiero agregar __git_ps1()
a PS1
solo si esa función existe en ese sistema. Esta función normalmente se define en git-completion.bash
que viene con git source, o por uno de los scripts de finalización de bash que ports/apt instala.
Usar 'type' fue mucho más rápido que' declare' - gracias. – csexton
Esto es casi correcto, pero también devolverá "verdadero" si '__get_ps1' es un alias, incorporado, etc. Utilice' si escribe -t nombre_función | grep -q "^ función $"; luego ... fi', para asegurarse de que '__git_ps1' es una función. –
@ChenLevy: editado por. – chaos