2010-01-27 67 views
1

我有一个从命名管道读取的后台进程。 例如/bin/sh:如何从&3重定向到命名管道?

mkfifo /tmp/log.pipe

./myprog.sh < /tmp/log.pipe

我想用& 3来代替指定/tmp/log.pipe

echo "aaa" >&3,但类似的结果echo "aaa" > /tmp/log.pipe

我如何可以重定向& 3每次到/tmp/log.pipe。

回答

3
exec 3>/tmp/log.pipe 
+0

我试过了,但是shell等了一些东西。我必须按Ctrl + C才能恢复正常。它等什么? 我使用Bourne shell – teerapap 2010-01-27 12:49:59

+0

它意味着在脚本中使用。 – 2010-01-27 12:50:25

+0

哦,谢谢。所以我必须在每个脚本中放入'exec 3>/tmp/log.pipe'行?有没有办法在全球范围内设置? – teerapap 2010-01-27 12:59:12