右箭头键问题

时间:2013-06-28 14:41:00

标签: linux 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 *”执行:

在编译“发送 - ”^ [\ [C“

]时缺少关闭括号

我想我错过了一些基本的东西......

THX !!

1 个答案:

答案 0 :(得分:1)

^[可能是单个字符(Escape)。你可能需要发送一个文字反斜杠和开括号,这两个都需要进行调整。尝试:

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