Se você quiser verificar se há uma função atualmente definida (ou pelo menos potencialmente marcada para carregamento automático) com o nome foo
, independentemente de uma entrada / executável / palavra-chave / alias também estar disponível por esse nome, você poderia faça:
if typeset -f foo > /dev/null; then
echo there is a foo function
fi
No entanto, se houver uma palavra-chave ou um apelido chamado foo
, ela terá precedência sobre a função (quando não citada).
Os itens acima devem funcionar em ksh
(de onde vem), zsh
e bash
.