如何使用输出分页 Heredoc 执行 SSH 命令

How can I execute SSH command with output pagination Heredoc

我正在尝试使用如下方式在 heredoc 块 SSH 会话中执行命令:

ssh -tt user@domain << 'END' > ./file.txt

    some command

END

命令已执行并在 file.txt 处保存了一部分输出。问题是程序提示输入 ENTER 或 space 以继续显示输出(整个输出有数千行)

如何在第一个命令后发送一个或多个 ENTER?我尝试使用 some command\n\n\n 但不起作用。

只需在 heredoc 输入中添加一个空行即可。

但该命令实际上可以从终端读取,而不是标准输入。那就不行了

您可能通过使用 -t 开关强制分配伪终端来自己造成这个麻烦。没有伪终端命令通常不会分页(没有 "terminal" 来分页)并且倾向于使用标准输入进行阅读。

尝试删除 -t 开关。无论如何,它不应该用于自动化。它用于交互式会话。