2012-03-29 33 views
6

我想将管道和stdin的输出发送到bash中的管道。如何连接标准输入到管道中?

即:

gen_input | cat - | parse_input_and_stdin 

会的gen_input输出发送到parse_input_and_stdin,然后离开开放的标准输入更多的交互式输入。

回答

9
cat <(gen_input) - | parse_input_and_stdin 
+0

杰出!谢谢! – 2014-02-17 20:22:17

+0

这对于测试我的'post-receive'钩子来说非常棒;)因为我需要分别用'$ from','$ to'和'$ branch'来喂它 ,我做了: 'cat <(git log -2 --format = oneline --reverse | awk'{print $ 1}'| tr'\ n''') - 。/ hooks/post-receive',另外通过输入分支来提供分支,然后按下CTRL + D 。大! ')'。 – branquito 2014-06-27 12:29:36

+0

非常有用!这帮助我用一些已知输入提供程序,然后继续以交互模式从stdin提供它。感谢这宝石! – 2015-03-22 16:59:30

14

关闭。

{ gen_input ; cat ; } | parse_input_and_stdin 
+0

这也适用,但我选择了另外一个,因为它的工作原理更为明显。 – 2012-04-03 04:46:21

+0

尽管如此,这种形式可以更简单地连接两个以上来源的输出。只是不断添加他们之间的分号。 – Dologan 2014-09-24 13:36:59

相关问题