我想在退出我的(半)交互式期望脚本后清除屏幕(在本地计算机上)。我可以在脚本中做到这一点吗?这是我尝试过的,但失败了。
#!/usr/bin/expect -f
set env(TERM) vt100
spawn ssh -Y username@domain
set user username
set pass password
#login sequence
expect "password: "
send "${pass}\r"
sleep .5
#some menu commands to enter ERP....
#...
#...
set CTRLZ \032
set CTRLC \003
set CTRLA \001
#don't time out
set timeout -1
interact {
-reset $CTRLZ {exec kill -STOP [pid]}
$CTRLA {
exp_send "menucmd...\ry\r"
}
$CTRLC {
#clear the host machine screen???
exec clear
exit
}
~~
}
在远程端,我不是在 shell 中,而是在 ERP 程序中。如果有必要,我可以退出 shell,然后在远程主机上执行“清除”操作,但我认为远程主机提示符仍会显示在屏幕上。
编辑:更改为在“退出”之前尝试清除(子问题:“execclear”在运行期望脚本的机器上执行,对吗?)
一旦你[退出],之后的所有事情都不会被执行。您应该在退出之前[execclear]。
如果您使用的是 vt100 兼容终端(大多数 Unix 终端都是),那么您可以尝试直接向终端发送 vt100 命令:
puts \033\[2J
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)