Как я могу сбросить входной буфер в ожидать сценарии?

эй, будьте практичны. используйте выбор * при разработке прототипа и выберите определенные столбцы при реализации и развертывании. с точки зрения плана выполнения оба относительно идентичны в современных системах. однако, выбор определенных столбцов ограничивает объем данных, который должен быть получен от диска, сохранил в памяти и отправил по сети.

в конечном счете лучший план состоит в том, чтобы выбрать определенные столбцы.

5
задан Greg Hewgill 9 December 2009 в 21:28
поделиться

3 ответа

Если вы хотите выбросить весь вывод, который Expect видел до сих пор, попробуйте

expect -re $

Это совпадение регулярного выражения для $, что означает конец входного буфера, поэтому он просто пропустит все получил пока. Более подробная информация на странице руководства Expect .

7
ответ дан 14 December 2019 в 04:39
поделиться

Вы можете попробовать «установить -o multiline» или COLUMNS = 1000000 (или другое подходящее большое значение).

1
ответ дан 14 December 2019 в 04:39
поделиться

В прошлом у меня были проблемы с ksh и Expect. Мое решение заключалось в использовании чего-то другого, кроме ksh для оболочки входа в систему.

Если вы можете изменить удаленный вход в систему на отличный от ksh (с помощью команды chsh или редактирования / etc / passwd), вы можете попробовать это с / bin / sh в качестве оболочки.

Другой альтернативой является сообщение KSH о том, что терминал «тупой» - запретить ему выполнять какую-либо специальную обработку.

$ export TERM=""

может помочь.

0
ответ дан 14 December 2019 в 04:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: