Зачем /dev/null, если можно без него?
driverx18, считается, что у любой программы может быть вывод. если у конкретной программы его нет - то это свойство конкретной программы, я говорю об общем случае.
по умолчанию, если не указано, куда выводить стандартный поток сообщений, то вывод идёт в стандартное устройство вывода - на консоль.
по умолчанию, если не указано, куда выводить стандартный поток ошибок, то вывод идёт в стандартное устройство вывода - на консоль.
если приложение, запущенное через cron, делает вывод в стандартный поток сообщений и/или в стандартный поток ошибок, то cron это перехватывает и, в зависимости от настроек, может херить или, что встречается чаще, передавать в подсистему логгирования, класть в мейлбокс.
поэтому, если вывод сообщений и ошибок принудительно не переназначить в другое место (например, в /dev/null), он, как правило, окажется в почте.
Вот вам пример: есть некий сервис S, слушающий порт 80, нужно раз в секунду делать на него http запрос через curl (или wget), как только S начал отвечать 200-ым ответом, без ошибок - выполнить команду C. При этом любой ответ от curl/wget - ожидаемый, даже невозможность определить ip по хосту, и его не нужно выводить в консоль, или логгировать как-то по другому.
Это пример из жизни, используется при старте контейнеров через docker-compose, для выполнения последовательности запуска и миграций.