Bash:将标准输入复制到文件

3

我有两个程序。第一个是客户端,第二个是服务器。它们使用stdin和stdout以文本格式交换数据。

我想在它们之间放置代理bash脚本,并记录从stdin到文件中的所有内容。

我尝试了以下代码,但是/tmp/f-copy.txt是空的:

Proxy.sh:

exec 6<&0
exec 6>/tmp/f-copy.txt
server

我做错了什么?

1个回答

9

看一下tee命令,这正是您想要的。从手册页中可以了解到:

tee实用程序将标准输入复制到标准输出,同时在零个或多个文件中进行复制。 输出是无缓冲的。


1
问题在于tee命令会等待输入结束(据我所知)。我需要一个不会阻塞执行的解决方案。 - Anthony
1
我认为他的意思是他不希望执行被阻塞。我也在寻找类似的东西。由于“command | tee elsewhere &”由于某种原因立即终止,似乎没有办法在后台运行它。 - dylnmc

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接