我有一个expect脚本,使用右箭头会给我带来麻烦。
我的脚本的目标是为我们的客户自动安装一个程序。
使用autoexpect测试右箭头键返回:
发送--“^[\[C”
我的脚本(预期版本5.43.0):

#!/usr/bin/expect --
if [ catch "spawn /mnt/install.sh" reason ] {
  send_user "failed to spawn /mnt/install.sh script: $reason\n"
  exit 1
}

expect {
    timeout { send_user "Timeout reached! Aborting..."; return}
    eof     { send_user "\r\nInstallation complete!!\r\n"; return}
    "*Demo*Expiration*Date*Reached*" {
       sleep .5
       send -- "^[\[C";
       sleep .5
       send "\r";
       exp_continue
    }
}

当代码块在
“*Demo*Expiration*Date*Reached*”执行:
编译“send--”^[\[C]时缺少右括号
我想我错过了一些基本的东西。。。。。
谢谢!!

最佳答案

^[可能是单个字符(转义)。您可能需要发送一个文本反斜杠和左括号,这两个都需要esacped。尝试:

send -- "\033\\\[C"

关于linux - 右箭头键故障,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17367350/

10-10 15:36