我有一个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/