Как я могу выполнить команду SSH с нумерацией страниц Heredoc

Я пытаюсь выполнить команды в сеансе SSH heredoc, используя что-то вроде этого:

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

    some command

END

Команда выполнена и сохранена часть вывода в файле file.txt. Проблема заключается в том, что программа запрашивает ввод или пробел, чтобы продолжить показ вывода (весь вывод имеет тысячи строк)

Как я могу отправить один или несколько ENTER после первой команды? Я пытался использовать какую-то команду \n\n\n, но она не работает.

1 ответ

Решение

Просто добавьте пустую строку к вводу heredoc.

Но на самом деле команда может читать с терминала, а не со стандартного ввода. Тогда это не сработает.

Вы, возможно, сами вызываете эту проблему, принудительно распределяя псевдотерминал с помощью -t переключатель. Без псевдотерминалов команды обычно не разбивают на страницы (не имея "терминала" для разбивки на страницы) и имеют тенденцию использовать стандартный ввод для чтения.

Попробуй удалить -t переключатель. В любом случае его не следует использовать для автоматизации. Это для интерактивных сессий.

Другие вопросы по тегам