Isso ocorre porque sua função está imprimindo para stdout
não stderr
, tente
NameofFunction ${VAR1} ${VAR2} >/dev/null
ou redirecione os dois stderr
e stdout
:
NameofFunction ${VAR1} ${VAR2} >/dev/null 2>&1
Note que é um bom estilo imprimir erros para stderr
, então, em vez da minha resposta acima, você deve alterar melhor sua função, assim:
echo -e "\e[31m[ ERROR ]\e[39m more text..." 1>&2