免费注册 查看新帖 |

Chinaunix

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

trap 的疑问 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-10 10:21 |只看该作者 |倒序浏览
脚本1.sh 调用脚本2.sh
trap设置在2.sh里

trap 'rm /tmp/aaa' 1 2 3 15  

运行1.sh,还没结束的时候Ctrl-C, 怎么trap不起作用啊?/tmp/aaa没有删除

如果直接运行2.sh,Ctrl-C就起作用

# cat 1.sh
  1. #!/bin/ksh
  2. ./2.sh 2>&1 | tee 1.log
复制代码


# cat 2.sh
  1. #!/bin/ksh
  2. trap 'rm /tmp/aaa' 1 2 3 15  
  3. touch /tmp/aaa
  4. sleep 10
复制代码

论坛徽章:
0
2 [报告]
发表于 2009-07-10 10:31 |只看该作者
居然是tee的问题

./2.sh 2>&1 | tee 1.log
换成
./2.sh 1> 1.log 2>&1
或者直接
./2.sh就可以

哎 不能解释啊

论坛徽章:
0
3 [报告]
发表于 2009-07-10 10:40 |只看该作者
继续

# cat 1.sh
  1. #!/bin/ksh
  2. ./2.sh  | 3.sh
复制代码

# cat 2.sh
  1. #!/bin/ksh
  2. trap 'echo here is 2.sh ' 1 2 3 15
  3. sleep 10
复制代码


bjomch2:/tmp# cat 3.sh
  1. #!/bin/ksh
  2. trap 'echo here is 3.sh' 1 2 3 15
  3. sleep 10
复制代码


# ./1.sh
^Chere is 3.sh

Ctrl+C信号怎么发到管道后面的 脚本 那去了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP