【问题标题】:Bash Expect not response to keystroke when using spawn -open使用 spawn -open 时,Bash Expect 不响应击键
【发布时间】:2019-01-23 21:41:35
【问题描述】:

当机器通过该目标机器的串行重定向启动时,我期望 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 设置。

有人可以帮忙吗? 谢谢。

【问题讨论】:

    标签: linux expect


    【解决方案1】:

    ^[ 表示 CTRL-[ 是 ESC 字符(0x1b 或 033),因此您可以这样尝试:

    send -- "\033\[3~"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-13
      • 2016-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多