我怎样才能将STDERRpipe理到在bash中运行的应用程序的STDIN?

我有一个网关bash脚本。 发送到STDERR的数据是我想要传送到由bash脚本(nodejs脚本)启动的应用程序的stdin的数据。

这里是我想要做什么的想法… bash-gateway.sh:

#since STDERR will not continuously send data, i put a neverending while loop #to wait for data to be present. while (true); do #Read the data from STDERR and send it to server.js STDIN cat /dev/fd/2 | node server.js; done; 

你没有真正说什么是发送Bash脚本的信息。 所以我会认为它是程序foo为了这个答案的目的。 话虽如此,如果你只是需要STDERR ,你应该可以做这样的事情

 foo 2>&1 >/dev/null | node server.js 

如果你不介意pipe道STDERR和STDOUT,这将是更简单

 foo |& node server.js 

那是什么pipe子。

 mkfifo needed_stderr somecommand 2>needed_stderr node server.js <needed_stderr