如何通过SSH发送三个数据pipe道?

我在远程主机上有一个bash脚本,它在fd = 3上产生大量数据,以及在stdout和stderr上产生一些可能有趣的数据。 我要:

  1. 将stdout和stderrlogging到本地计算机上的文件中。
  2. 在我的本地机器上写入fd = 3的数据到stdout。

如果我的大脚本是本地的话,以下是如何完成的:

exec 3> >(cat) ./big_script.sh -o /dev/fd/3 2>&1 >big_script.log exec 3>&- 

不过,我想在远程计算机上运行big_script.sh,并将所有三个pipe道(fd = 1,fd = 2和fd = 3)作为单独的来自ssh程序。 什么是最好的办法呢?

数控(netcat)和隧道? 你可以用这种方式在你的网上做一个有点日志的广播!

SSH只打开一个tty,所以你只需要一个包含所有数据的流。 你不能分辨对方看到的stdout和stderr是什么。

您可以登录到远程主机上的文件,然后从本地计算机上ssh remote tail -f每个日志文件。