首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

怎么清空标准键盘输入流

2012-07-28 
如何清空标准键盘输入流?#!/bin/bashecho begain#.......#.......#.......echo endecho -n reboot sy

如何清空标准键盘输入流?
#!/bin/bash

echo "begain"
#.......
#.......
#.......
echo "end"

echo -n "reboot system now? (n|y) : "
read answer
if [ "$answer" = "y" ]
then
  reboot
else
  echo "reboot later, your input is : $answer"
fi

问题:
假设在打印“begain”和“end”之间用户不小心碰到键盘,输入了字符,那么用户输入“y”后,系统也不会重启。

例如:
假设不小心碰到了“0”,则会打印:
begain
.....(略)不小心碰到了“0”键
end
reboot system now? (n|y) : y
reboot later, your input is : 0y

如何处理意外输入:
我想在打印“end”之后,请空键盘的输入终端,本例中,即需要清空“0”这个字符。该如何办不到?



[解决办法]
再多一步好了,用户输入后让用户确认是否执行刚才的操作,如何输入正确就执行reboot,否则重新输入
[解决办法]
在read answer之前加入一句read -t 0 -n 10000 garbage

热点排行