LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 666|回复: 4

一个shell问题

[复制链接]
发表于 2005-9-23 10:34:07 | 显示全部楼层 |阅读模式
如果做了一个死循环的shell脚本,怎么才能通过外部环境变量来跳出循环呢??
发表于 2005-9-23 12:10:34 | 显示全部楼层
Post by kevein2
如果做了一个死循环的shell脚本,怎么才能通过外部环境变量来跳出循环呢??

可以让循环检测一个boolean值。不过这不是真正意义的永久循环。我觉得死循环只能通过对process送SIGNAL的形式,强制其退出。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-23 15:27:26 | 显示全部楼层
楼上的,具体怎么做呢??
回复 支持 反对

使用道具 举报

发表于 2005-9-23 23:14:54 | 显示全部楼层
Post by kevein2
楼上的,具体怎么做呢??

比如:

  1. a=0
  2. ...
  3. loop () {
  4. while [ a -eq 0 ]; do
  5.      thing
  6.      something here
  7. done
  8. }
  9. ...
  10. thing () {
  11.      something happens; then a=1
  12. }
  13. ...
  14. loop
复制代码

只要你指定的事情不触发,a就是0, 自然循环就不会退出。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-9-26 10:36:54 | 显示全部楼层
但是有一个问题,while中的那个something是一个播放文件,因为shell是顺序执行的,这个播放文件没有结束,是不可能执行其他步骤的,假设说这个播放文件有一个终止命令为<z>,我按下z后,退出播放文件的同时也想退出这个进程,可以做到吗??
回复 支持 反对

使用道具 举报

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

本版积分规则

快速回复 返回顶部 返回列表