(TCL /期待)退出后清屏
-
22-09-2019 - |
题
我想从我的(半)退出expect脚本互动后清除屏幕(在本地计算机上)。我能做到这一点从脚本内?这是我尝试过,失败。
#!/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
}
~~
}
在远程侧我不是在一个外壳,但在一个ERP程序。我可以退出的壳,然后在远程主机上做了一个“明确的”如果这就是必要的,但我想在远程主机提示仍然会在屏幕上。
编辑:改为尝试“退出”之前明确(子问题:“EXEC清除”运行脚本期待权的机器上执行)
解决方案
一旦[退出],一切之后是不会被执行。你应该[EXEC清除]在退出之前。
如果您使用的VT100兼容终端(和大多数Unix端子是),则可以尝试直接发送VT100命令到终端:
puts \033\[2J
不隶属于 StackOverflow