我想在Guile中创建两个进程,并将输出(stdout)从其中一个作为输入(stdin)发送到另一个。
使用以下示例,如何做到这一点?
echo "foo bar" | wc
输出:
1 2 8
答案 0 :(得分:3)
是的,您可以使用open-output-pipe
:
(let ((p (open-output-pipe "wc")))
(display "The quick brown fox jumps over the lazy dog.\n" p)
(close-pipe p))
这相当于echo "The quick brown fox jumps over the the lazy dog." | wc
(包括echo
的隐式换行符,因为我就是那个,lol)。
当然,有一个open-input-pipe
类似物。有关详细信息,请阅读Guile手册的Pipes部分。