【发布时间】:2015-11-03 14:07:22
【问题描述】:
从 myhost.mydomain.com,我启动一个 nc 监听器。然后登录到另一台主机启动 netcat 推送到我的主机:
nc -l 9999 > data.gz &
ssh repo.mydomain.com "cat /path/to/file.gz | nc myhost.mydomain.com 9999"
这两个命令是脚本的一部分。只有 32K 字节被发送到主机并且 ssh 命令终止,nc 监听器得到一个 EOF 并且它也终止了。
当我在 myhost.mydomain.com 上的命令行(即不作为脚本的一部分)运行 ssh 命令时,会下载完整的文件。怎么回事?
【问题讨论】:
-
注意:你可以用
ssh repo.mydomain.com "cat /path/to/file.gz" > data.gz实现同样的效果也许你的脚本更复杂,但也许有人忽略了简单的解决方案。
标签: shell unix command-line ssh netcat