Если вы счастливы смешать stdouot и stderr, тогда вы можете сначала перенаправить stderr в stdout, а затем передать следующее:
theprogram 2>&1 | otherprogram
Если вам не нужен stdoutВы можете убить его:
theprogram 2>&1 1> /dev/null | otherprogram
Если вы хотите сохранить исходный стандартный вывод, вам нужно перенаправить его либо в файл (вместо /dev/null
), либо в другой файл.дескриптор, который вы открыли ранее с exec
. Вот некоторые подробности.
(К сожалению, прямой синтаксис "pipe this file descriptor", такой как 2|
, отсутствует. Это было бы удобно.)