У меня есть следующий сценарий удара:
# do some time consuming task here
read -p "Give me some input: " input
Теперь как Вы, возможно, предположили, если пользователь нажимает некоторые случайные клавиши во время "трудоемкой задачи", нежелательный вход принят во внимание также. Как я очищаюсь stdin
(или, по крайней мере, проигнорируйте его), прежде чем я дам команду чтения?
Я не думаю, что существует способ очистить 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 параметр.