Я знаю, что это было проблемой в течение некоторого времени, и я нашел много обсуждений по этому поводу, однако я не понял, что, наконец, будет способом сделать это: подключить оба, stdout и stderr. В bash это будет просто:
cmd 2>&1 | cmd2
Я знаю, что это было проблемой в течение некоторого времени, и я нашел много обсуждений по этому поводу, однако я не понял, что, наконец, будет способом сделать это: подключить оба, stdout и stderr. В bash это будет просто:
cmd 2>&1 | cmd2
Этот синтаксис работает и в рыбе. Демо:
$ function cmd1
echo "this is stdout"
echo "this is stderr" >&2
end
$ function cmd2
rev
end
$ cmd1 | cmd2
this is stderr
tuodts si siht
$ cmd1 &| cmd2
rredts si siht
tuodts si siht
Документы: https://fishshell.com/docs/current/index.html#redirects а>
echo meow > /tmp/meow 2>&1
работает. вам нужно перенаправление stderr после перенаправления stdout.
- person nhooyr; 31.01.2018
sh -c
в функции cmd1
, а echo "this is stdout"; echo "this is stderr" >&2
просто работает
- person enzotib; 26.04.2019