LinuxSir.Org  
| 网站首页 | 注册账号 | 论坛帮助 |

欢迎来到LinuxSir.Org!
您还未登录,请登录后查看论坛,或者点击论坛上方的注册链接注册新账号。


发表新主题 回复
精华主题  
主题工具
旧 04-01-03, 14:07 第 1 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

标题: 考考你:如何处理键盘输入超时


问题:在shell中如果一段时间(如30秒)内没有键盘输入,那么执行一个程序?
格式如:urscript&
将程序的结果输出到前台
  KornLee 当前离线   回复时引用此帖
旧 04-01-03, 14:46 第 2 帖
georgek
 
georgek 的头像
 
 
退役版主  
  注册日期: Sep 2003
  帖子: 2,430
  精华: 1
 

不懂, 怎樣做的?
  georgek 当前离线   回复时引用此帖
旧 04-01-03, 15:35 第 3 帖
home
 
 
 
已封禁  
  注册日期: Nov 2003
  帖子: 1,150
  精华: 5
 

STDIN == NULL :ask:ask
  home 当前离线   回复时引用此帖
旧 04-01-03, 16:01 第 4 帖
lordbyorn
 
lordbyorn 的头像
 
 
临时退役版主  
  注册日期: May 2003
  帖子: 889
  精华: 1
 

read --help







__________________
Kurt is me.
Studing hard. Making my way to the top of the world.
  lordbyorn 当前离线   回复时引用此帖
旧 04-01-03, 17:09 第 5 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

我是想写一个字符模式下屏幕保护的脚本,就是放在后台,如果比如30分钟没有接受键盘的输入,那么就执行我的程序,我用了read -t,BASH有,我的KSH没有这个-t选项,也用了TMOUT,REPLY等等,结果都不理想~~,再试试看吧!
  KornLee 当前离线   回复时引用此帖
旧 04-01-05, 13:34 第 6 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

没人理 :( ,我先来!
代码:
#!/bin/ksh while true;do sleep 300 while true;do case $REPLY in "") command&&continue 2;; *) $REPLY&&continue 2;; esac done done
可以放在/etc/rc.d/rc.local文件中,这样每隔300秒就执行command
用stty和read也可以实现.不过好像要对signal处理.
用stty的例子在
http://www.linuxsir.org/bbs/showthre...5&pagenumber=4
<<限时输入>>
bash的可以用read -t sec来判断REPLY.

此帖于 04-01-05 13:38 被 KornLee 编辑.
  KornLee 当前离线   回复时引用此帖
旧 04-01-05, 15:16 第 7 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

上述脚本如果把command换成apmsleep 00:00,再加上对登录用户的判断,就是一个简单的屏保啦~~
  KornLee 当前离线   回复时引用此帖
旧 04-01-05, 20:04 第 8 帖
georgek
 
georgek 的头像
 
 
退役版主  
  注册日期: Sep 2003
  帖子: 2,430
  精华: 1
 

這就可以了~~?
  georgek 当前离线   回复时引用此帖
旧 04-01-05, 21:57 第 9 帖
KornLee
 
 
 
★☆★☆★☆★  
  注册日期: Nov 2002
  我的住址: LinuxWorld
  帖子: 6,960
  精华: 61
 

引用:
最初由 georgek 发表
這就可以了~~?
可不可以,让实验结果说话嘛~~ ,,
  KornLee 当前离线   回复时引用此帖
发表新主题 回复


主题工具

发帖规则
您 [不可以] 发表新主题
您 [不可以] 回复主题
您 [不可以] 上传附件
您 [不可以] 编辑您的帖子

已 [启用] BB 代码
已 [启用] 表情符号
已 [启用] IMG 代码
已 [禁用] HTML 代码
[论坛跳转…]


所有时间均为[北京时间]。现在的时间是 12:22


Powered by vBulletin 版本 3.6.8
版权所有 ©2000 - 2010, Jelsoft Enterprises Ltd.
官方中文技术支持: vBulletin 中文
版权所有 ©2002 - 2009, LinuxSir.Org