免费注册 查看新帖 |

Chinaunix

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

while ... do 的shell循环没办法用ctrl+c中止的吗? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-11-06 15:27 |只看该作者 |倒序浏览
那怎么在其运行的时候终止它呢。。。

论坛徽章:
0
2 [报告]
发表于 2008-11-06 16:00 |只看该作者

回复 #1 pooronce 的帖子

可以使用CTRL+C中止while...do循环。
可能是楼主的循环结束的动作太快,以至于在按CTRL+C时,循环已经完成(中止需要一定的时间)。

论坛徽章:
0
3 [报告]
发表于 2008-11-06 16:01 |只看该作者
是可以的

论坛徽章:
0
4 [报告]
发表于 2008-11-06 16:07 |只看该作者
循环过程很长啊,一直在操作。。。但按了n下^c就是没反应 囧rx

论坛徽章:
0
5 [报告]
发表于 2008-11-06 16:13 |只看该作者
原帖由 yezhulin1982 于 2008-11-6 16:00 发表
可以使用CTRL+C中止while...do循环。
可能是楼主的循环结束的动作太快,以至于在按CTRL+C时,循环已经完成(中止需要一定的时间)。


正解

论坛徽章:
0
6 [报告]
发表于 2008-11-06 16:14 |只看该作者

回复 #4 pooronce 的帖子

是不是有trap操作里面?

论坛徽章:
0
7 [报告]
发表于 2008-11-06 16:19 |只看该作者
一般C-c没用就用C-z了,然后再多运行几次kill  %1
供参考

论坛徽章:
0
8 [报告]
发表于 2008-11-06 16:37 |只看该作者
可以终止的。请楼主贴出脚本

论坛徽章:
0
9 [报告]
发表于 2008-11-07 10:13 |只看该作者
代码倒很简单的:

  1. #!/bin/sh

  2. while read line
  3. do
  4.         nslookup $line | gawk --re-interval -v name=$line '/Address/{match($0,/Address. +([0-9]+.*)/,ip)} /can.t find/{na=1}END{if (na){na=0;print name "\tNA"} else {print name "\t" ip[1]}}'
  5. done < list.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP