设为首页
收藏本站
用户名
Email
自动登录
找回密码
密码
登录
注册
快捷导航
平台
Portal
论坛
BBS
文库
项目
群组
Group
我的博客
Space
搜索
搜索
热搜:
shell
linux
mysql
本版
用户
LinuxSir.cn,穿越时空的Linuxsir!
»
论坛
›
Linux 综合讨论区 —— LinuxSir.cn
›
shell进阶应用、shell编程
›
如何在脚本中实现ctrl+c功能.
返回列表
查看:
1225
|
回复:
4
如何在脚本中实现ctrl+c功能.
[复制链接]
etcsbin
etcsbin
当前离线
积分
66
IP卡
狗仔卡
发表于 2008-6-4 13:51:27
|
显示全部楼层
|
阅读模式
我有个小程序:
#!/bin/bash
while : ;do
echo 1 >/dev/null
done
echo "abcdefg"
现在执行这个程序时,如按ctrl+c则程序就停止了,我可不可以实现按ctrl+c退出while循环而执行echo "abcdefg"这项?
要在while中加入什么?
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
显身卡
etcsbin
etcsbin
当前离线
积分
66
IP卡
狗仔卡
楼主
|
发表于 2008-6-4 14:31:02
|
显示全部楼层
刚才查了一下好象ctrl+c是默认的键子,不好操纵,那换成别的也行,比如在上面那个程序执行时,虽时按Q就可以退出while而执行最后一行.
这样怎么弄啊?
回复
支持
反对
使用道具
举报
显身卡
remote fish
remote fish
当前离线
积分
704
IP卡
狗仔卡
发表于 2008-6-4 16:07:07
|
显示全部楼层
如果用 c-c 的话, 请 help trap
如果用 Q 的话, 也许可以用指定了 timeout 的 read. help read
回复
支持
反对
使用道具
举报
显身卡
feiyuw
feiyuw
当前离线
积分
277
IP卡
狗仔卡
发表于 2008-6-4 16:15:56
|
显示全部楼层
楼上正解,楼主可以看看trap,它可以捕获用户的ctrl-c操作的。
回复
支持
反对
使用道具
举报
显身卡
ggyy_sun
ggyy_sun
当前离线
积分
82
IP卡
狗仔卡
发表于 2008-6-11 15:29:12
|
显示全部楼层
#!/bin/bash
trap "echo 'abcdefg'" SIGINT
while : ; do
echo 1 >/dev/null
done
复制代码
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
注册
本版积分规则
发表回复
回帖后跳转到最后一页
浏览过的版块
Java 程序设计开发讨论
BSD 讨论专题
LFS(LinuxfromScratch)
硬件设备 Linux 驱动
Linux 输入开发与研究
Redhat/Fedora/CentOS Linux
服务器架设、应用、维护
红旗 REDFLAG Linux
Linux 程序设计专题讨论
小企鹅新闻图书馆
Copyright © 2002-2023
LinuxSir.cn
(http://www.linuxsir.cn/) 版权所有 All Rights Reserved.
Powered by
RedflagLinux!
技术支持:
中科红旗
|
京ICP备19024520号
快速回复
返回顶部
返回列表