如何使用输出分页 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
开关。无论如何,它不应该用于自动化。它用于交互式会话。
我正在尝试使用如下方式在 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
开关。无论如何,它不应该用于自动化。它用于交互式会话。