Чтобы это работало:
somecommand | null
Вам просто нужно, чтобы ваш null
скрипт содержал:
cat > /dev/null
cat
читает из стандартного ввода и пишет в стандартный вывод, который в этом случае вы перенаправили на /dev/null
.
Обратите внимание, что это не будет перенаправлять stderr, потому что символ канала (|
) перенаправляет только stdout. Вы можете использовать |&
для перенаправления как stdout, так и stderr, например:
somecommand |& null
Реальный вопрос, однако, зачем беспокоиться об этом? Вы также можете легко запустить:
somecommand > /dev/null
Или:
somecommand >& /dev/null
UPDATE
Ух, баш 3.2? Это слишком старо. Эта версия bash не поддерживает оператор |&
. Вы можете сделать то же самое, как это:
somecommand 2>&1 | null
Там написано "перенаправить stderr в stdout, а затем перенаправить stdout в канал".