Очистите stdin перед чтением

У меня есть следующий сценарий удара:

# do some time consuming task here
read -p "Give me some input: " input

Теперь как Вы, возможно, предположили, если пользователь нажимает некоторые случайные клавиши во время "трудоемкой задачи", нежелательный вход принят во внимание также. Как я очищаюсь stdin (или, по крайней мере, проигнорируйте его), прежде чем я дам команду чтения?

14
задан 04.12.2011, 18:43

1 ответ

Я не думаю, что существует способ очистить stdin, но (с ударом) можно считать и отбросить то, что там перед просьбой вход

#do some time consuming task here
read -t 1 -n 10000 discard 
read -p "Give me some input: " input

Это читает stdin и имеет тайм-аут 1 секунды, он перестал работать хотя, если существует больше чем 10 000 символов в stdin. Я не знаю, как большой можно сделать nchars параметр.

8
ответ дан 07.12.2019, 11:11

Теги

Похожие вопросы