Как насчет использования чтения
?
$ cat /dev/null | read pointless || echo no output
no output
$ echo something | read pointless || echo no output
$ printf "\n" | read pointless || echo no output
$ printf " \n" | read pointless || echo no output
$ false | read pointless || echo no output
no output
Согласно определению открытой группы :
СТАТУС ВЫХОДА
Должны быть возвращены следующие значения выхода:
0
Успешное завершение.
> 0
Обнаружен конец файла или произошла ошибка.