当我执行类似的事情时:
run('less <somefile>')
在 fabric 中,它在行前面加上 Out: 并且与它的交互不能按预期工作。
如果我运行它:
run('cat <something>', pty=False)
输出没有预先添加任何内容,我实际上可以将其通过管道传输到 less 本地,例如:
fab less | less
但是我不确定是否建议这样做,因为我觉得它可能会对远程资源造成负担,因为 cat 将不断地通过 ssh 管道返回。此外,当我在整个文件被 cat'd 之前快速减少(它可能超过 1GB)时,我得到一个代理管道错误。
促进这一点的推荐方法是什么?我应该直接使用 ssh 吗:
ssh <remote host> less <something>