加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 按Enter键或等待10秒钟以继续

发布时间:2020-12-15 16:25:47 所属栏目:安全 来源:网络整理
导读:我可以要求用户通过使用阅读按Enter键,并让他通过调用sleep等待。但我不能想出一个同时做这两个方法。我想让用户选择: 按Ctrl C键取消,按Enter键继续或等待10秒钟 我怎样才能做到这一点? 在bash中,read有一个-t选项,您可以在其中指定超时。从联机帮助
我可以要求用户通过使用阅读按Enter键,并让他通过调用sleep等待。但我不能想出一个同时做这两个方法。我想让用户选择:

按Ctrl C键取消,按Enter键继续或等待10秒钟

我怎样才能做到这一点?

在bash中,read有一个-t选项,您可以在其中指定超时。从联机帮助页:

read [-ers] [-u fd] [-t timeout] [-a aname] [-p prompt] [-n nchars] [-d delim] [name ...]

-t timeout: cause read to time out and return failure if a complete line of input is not read within timeout seconds. This option has no effect if read is not reading input from the terminal or a pipe.

下面的脚本(不输入ENTER):

$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; echo ; date
Tue Feb 28 22:29:15 WAST 2012
Hit ENTER or wait ten seconds
Tue Feb 28 22:29:25 WAST 2012

另一个,几秒钟后按ENTER键:

$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; date
Tue Feb 28 22:30:17 WAST 2012
Hit ENTER or wait ten seconds
Tue Feb 28 22:30:19 WAST 2012

另一个,CTRL-C:

$ date ; read -t 10 -p "Hit ENTER or wait ten seconds" ; echo ; date
Tue Feb 28 22:30:29 WAST 2012
Hit ENTER or wait ten seconds

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读