我们正在使用 Cygwin XServer 运行 Windows 客户端,该服务器具有在 AIX Unix 上运行的 bash 脚本应用程序。我们有一个登录脚本,使用expect ssh 进入服务器,然后使用xterm 创建客户端。
除了在任何表单屏幕上之外,这都工作正常,在更新字段并擦除行后,最后会留下______
一个。.
我尝试了不同的字体和大小,但无论我做什么,.
擦除该行后都会留下该单行。
有任何想法吗?
答案1
期望您可以使用原始 vt100 命令清除屏幕:
puts -nonewline \033\[2J
flush stdout
这就是我的解决方案关于 stackoverflow 的问题。也许它可以帮助你。
在生成的 ssh 会话上的 Expect 脚本中设置交互“挂钩”的示例可能如下所示:
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 按键时,您才会发送清除命令。您还可以进行交互,然后在看到屏幕上的某个字段或字符时采取行动。
-o -nobuffer -re {(\[1;14H} {
#clear screen
puts \033\[2J
}