获取不等待期望脚本中的用户输入

woo*_*tok 5 user-input tcl expect

当我尝试运行以下期望脚本时,它只是完成运行而不是等待用户输入.有人能告诉我我做错了什么吗?

#!/usr/bin/expect
puts -nonewline stdout "Enter device id:"
flush stdout
gets stdin id
puts -nonewline  stdout "Enter device name:"
flush stdout
gets stdin name
Run Code Online (Sandbox Code Playgroud)

Don*_*ows 8

Expect改变Tcl gets命令,以便它不等待标准输入; 在等待它时读取一行,你需要这样做而不是gets stdin id:

# Read input to stdin
expect_user -re "(.*)\n"
set id $expect_out(1,string)
Run Code Online (Sandbox Code Playgroud)