如何在bash脚本中使用管道(FIFO)和我的程序?

时间:2016-05-19 15:24:12

标签: linux bash pipe mkfifo

我尝试做什么:

创建管道(FIFO)。

将管道输出重定向到标准输入(& 1)。

将管道输入重定向到第4个描述符(& 4)。

运行我的程序(它应该复制它的父描述符,指向我的管道)。

将某些内容写入& 4(FIFO输入)。

我的程序读取它(从FIFO输出)。

input_pipe=$(mktemp -u);

mkfifo $input_pipe;

exec 1<$input_pipe;

exec 4>$input_pipe;

rm $input_pipe; #this should not remove the pipe itself

my_program &

echo $'input to be read by my_program' >&4;

#my program's answer should appear in stdout

不幸的是,它根本不起作用。我做错了什么?

0 个答案:

没有答案