Это потому, что ваша функция печатает на stdout
, а не на stderr
, попробуйте
NameofFunction ${VAR1} ${VAR2} >/dev/null
или перенаправить оба stderr
и stdout
:
NameofFunction ${VAR1} ${VAR2} >/dev/null 2>&1
Обратите внимание, что это хороший стиль - выводить ошибки на stderr
, поэтому вместо моего ответа выше вам лучше измените свою функцию, например:
echo -e "\e[31m[ ERROR ]\e[39m more text..." 1>&2