当使用spawn -open时,Bash预期不响应按键

时间:2019-01-23 09:03:43

标签: linux expect

我希望bash在通过目标计算机的串行重定向启动计算机时进入BIOS设置程序。以下是我使用spawn读写串口的脚本,但是用于输入BIOS的按键(Del)在该脚本中没有响应

set timeout -1
match_max 100000
set port /dev/ttyUSB0
set rate 115200

exec stty -F $port $rate
spawn -open [open $port w+]

expect "American Megatrends"
sleep 1
send -- "^\[\[3~"
send_user "\nok\n"

最后一行显示“ ok”,这意味着我的关键字是预期的,但没有进入BIOS设置

与此同时,在另一个脚本中,该脚本使用screen /dev/ttyUSB0 115200进行读写,能够发送按键并成功进入BIOS设置程序。

有人可以帮忙吗? 谢谢。

1 个答案:

答案 0 :(得分:1)

^[的意思是CTRL-[,它是ESC字符(0x1b或033),因此您可以尝试如下操作:

send -- "\033\[3~"