我有一个期望的脚本,使用右箭头给我带来麻烦。 我的脚本的目标是自动为我们的客户安装程序。
使用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 !!
答案 0 :(得分:1)
^[
可能是单个字符(Escape)。你可能需要发送一个文字反斜杠和开括号,这两个都需要进行调整。尝试:
send -- "\033\\\[C"