免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2302 | 回复: 4
打印 上一主题 下一主题

[其他] 倒数3秒,如果输入任意键则执行a,否则执行b [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-01-22 20:27 |只看该作者 |倒序浏览
for i in 3 2 1                                                                                                                     
do                                                                                                                                 
        echo -ne "\b$i"
                                                                                                            
        read -n1 -t1 input
                                                                                                                                                                                                                    
        if [ -n "$input" ]; then                                                                                                   
                break;                                                                                                              
        fi                                                                                                                                                                                                                                            
done

为什么第二次read就一直阻塞等待输入了呢

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
2 [报告]
发表于 2015-01-22 23:08 |只看该作者
  1. for i in $(seq 3 1)
复制代码

论坛徽章:
1
2015亚冠之鹿岛鹿角
日期:2015-05-12 13:04:44
3 [报告]
发表于 2015-01-23 00:35 |只看该作者
#!/bin/bash
for i in 3 2 1
do
        echo -ne "$i\n"
        sleep 1
        read -n1 -t1 -p "" input
        if [ -n "$input" ];then
                echo -e "\n"
                break;
        fi
done

论坛徽章:
0
4 [报告]
发表于 2015-01-23 10:44 |只看该作者
好奇怪,我用sh xx.sh执行的就会在第二个read卡住, 用./xx.sh执行就没问题。  谢谢上面2位了

论坛徽章:
0
5 [报告]
发表于 2015-01-23 11:26 |只看该作者
回复 1# crong13


[/ngbss/webapp/bin/test]cat test.sh
#!/bin/bash

for i in 3 2 1                                                                                                                     
do                                                                                                                                 
         echo -ne "\b$i"
                                                                                                              
         read -n1 -t1 input
                                                                                                                                                                                                                     
         if [ -n "$input" ]; then                                                                                                   
                 break;                                                                                                              
         fi                                                                                                                                                                                                                                            
done
[/ngbss/webapp/bin/test]test.sh
3a[/ngbss/webapp/bin/test]
[/ngbss/webapp/bin/test]

   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP