使用tty echo从终端读取

时间:2018-10-29 18:34:32

标签: tcl expect

我有这个阅读例程:

proc getUserInput { query } {
    send_user "$query: "
    flush stdout  
    set data [gets stdin]
    send_user "\n"
    return $data
}

这有效,但不会在tty上回显。如何使脚本在tty上回显?在交互会话中捕获的控件字符时调用此函数。

1 个答案:

答案 0 :(得分:1)

谢谢Glen Jackman先生

我添加了这一行。

exec stty echo

作为函数的第一行,回显已恢复。

新功能是:

proc getUserInput { query } {
    exec stty echo
    send_user "$query: "
    flush stdout  
    gets stdin data
    return $data
}