Intereting Posts
`ssh-agent` запрашивает парольную фразу после ее добавления Оболочка допустимых символов имени функции Какова настройка в bash для globbing, чтобы контролировать, совпадает ли * с точечными файлами Может ли root / superuser прочитать мои защищенные от чтения файлы? Linux: Apple Wireless A1314 Fn ключ не зарегистрирован, выглядит как ошибка программного обеспечения делегирование зоны в Bind Использование AWK для преобразования чисел в 0 или 1 остановить фледору gnome авто-поворот экрана при встряхивании ноутбука? Как использовать внешний монитор через HDMI без X / графической среды? Как настроить Apache на Linux для потоковой передачи WMV-HD на Xbox 360? как обнаружить компакт-диск, физически вставленный в привод Сообщение об ошибке Bash на mac с помощью Perl Как преобразовать мои текстовые файлы (каждый из которых содержит пару имени пользователя + пароль) в CSV, чтобы импортировать их в KeePass через bash (cygwin) Настройка командной строки Shell? Почему несогласованность файлов между двумя системами, устанавливающими один и тот же общий ресурс NFS?

Xterm не полностью стирает полевые линии

Мы работаем с клиентами Windows с Cygwin XServer, у которого есть приложение сценария bash, работающее в AIX Unix. У нас есть сценарий входа в систему, который использует ssh на сервере, а затем xterm для создания клиентского терминала.

Это отлично работает, за исключением экрана любой формы, после того, как поля обновлены, а строка ______ будет удалена . остается в конце.

Я пробовал разные шрифты и размеры, но независимо от того, что я делаю, этот сингл . остается после стирания строки.

Есть идеи?

В ожидании вы можете очистить экран, используя команды raw vt100:

 puts -nonewline \033\[2J flush stdout 

Это было решение моего вопроса о stackoverflow . Возможно, это может вам помочь.

Пример установки «крюка» взаимодействия в сценарий ожидания на вашей порожденной сессии ssh может выглядеть примерно так:

 spawn ssh -Y user@host #password sequence... set CTRLA \001 #don't time out set timeout -1 interact { $CTRLA { #clear screen puts \033\[2J } } 

Тогда только если вы нажмете клавишу Ctrl + A, отправьте команду clear. Вы также можете взаимодействовать, а затем предпринимать действия при просмотре определенного поля или символа на экране.

 -o -nobuffer -re {(\[1;14H} { #clear screen puts \033\[2J }