Чтение из терминала с помощью tty echo - PullRequest
0 голосов
/ 29 октября 2018

У меня есть эта процедура чтения:

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

Это работает, но не эхо на TTY. Как сделать так, чтобы скрипт отображался на tty? Эта функция вызывается для контрольного символа, захваченного во время сеанса взаимодействия.

1 Ответ

0 голосов
/ 30 октября 2018

Спасибо, мистер Глен Джекман

Я добавил строку ..

exec stty echo

в качестве первой строки функции и эхо было восстановлено.

Новая функция:

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