Bash脚本倒计时器需要检测任何键才能继续
发布时间:2020-12-15 19:01:33 所属栏目:安全 来源:网络整理
导读:我需要在倒数计时器循环中收听任何按键.如果按下任何键,倒计时器应该突破它的循环.这主要是有效的,除了输入键只是让倒数计时器更快. #!/bin/bashfor (( i=30; i0; i--)); do printf "rStarting script in $i seconds. Hit any key to continue." read -s -n
我需要在倒数计时器循环中收听任何按键.如果按下任何键,倒计时器应该突破它的循环.这主要是有效的,除了输入键只是让倒数计时器更快.
#!/bin/bash for (( i=30; i>0; i--)); do printf "rStarting script in $i seconds. Hit any key to continue." read -s -n 1 -t 1 key if [[ $key ]] then break fi done echo "Resume script" 我似乎无法找到任何在线任何位置检测输入密钥的示例.
我认为基于读取的返回代码,可以解决这个问题.从阅读的手册页, The return code is zero,unless end-of-file is encountered,read times out,or an invalid file descriptor is supplied as the argument to -u. 超时的返回码似乎是142 [在Fedora 16中验证] 所以,脚本可以修改为, #!/bin/bash for (( i=30; i>0; i--)); do printf "rStarting script in $i seconds. Hit any key to continue." read -s -n 1 -t 1 key if [ $? -eq 0 ] then break fi done echo "Resume script" (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- twitter-bootstrap – 在Twitter的Bootstrap Button下拉列表
- 什么是AngularJS的方式来显示或隐藏表单元素?
- axis WebServices 完美调用天气预报,查询、显示 代码!
- angularjs – angular – 可重用的对话框
- 在Unix命令行上执行Python2中的脚本
- exlipce mar 创建一个rest风格的webService项目(axis2)
- 一台机器如何启动多个JBoss服务器的办法!(基于jboss-eap-
- bash – AWK语法错误 – 导致它的原因是什么?
- AngularJS ngSanitize 1.7.0错误
- 跟我一起学Redis之Redis概述