LinuxSir.cn,穿越时空的Linuxsir!

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

请问BASH中的陷阱怎么用?

[复制链接]
发表于 2003-1-14 11:57:33 | 显示全部楼层 |阅读模式
有那位用过吗?谢谢!
发表于 2003-1-14 12:16:37 | 显示全部楼层
兄弟,请说明白一些
发表于 2003-1-14 12:32:44 | 显示全部楼层

RE

"陷阱"用于调试脚本中的错误,是对中断做出的反应,如CTRL+C,它的使用是不确定的,就是系统不知道什么被中断,当按下CTRL+C时引发一个中断,这个中断转换为一个UNIX信号,这个信号被进程设置了陷阱,通常的行为是中断脚本,除非你设定,有EXIT,ERR,SIGNAL三种陷阱,用于对异步事件处理.
发表于 2003-1-14 12:34:56 | 显示全部楼层
这个东东么?

kill -l看看
 楼主| 发表于 2003-1-14 13:13:20 | 显示全部楼层
就是trap命令,怎么用呢?
发表于 2003-1-14 13:42:05 | 显示全部楼层
trap command sig1 sig2 ...
当遇到sig1 或sig2得信号则执行command
关于信号可参阅kill -l
-----------------------------------------------------

  1. #! /bin/sh
  2. # test.sh
  3. while true;
  4. do
  5.       trap 'echo "BC, don't use CTRL+C!!"'  INT
  6. done
复制代码

-----------------------------------------------------
./test.sh
Ctrl+C无法中止!!
必须用kill!!
发表于 2003-1-14 13:43:55 | 显示全部楼层
houhou,从来没有用过,我回去试试去,看看有什么可以挖出来。
发表于 2003-1-14 14:08:38 | 显示全部楼层
用在木马身上挺合适的
发表于 2003-1-14 15:22:46 | 显示全部楼层
作了个陷阱的练习,总感觉有些不对劲,帮忙看看
  1. #! /bin/bash
  2. count=0
  3. trap 'echo "Make $count files"' SIGINT
  4. trap 'echo "Exiting......";\
  5. echo "Total files made is $count";exit' SIGQUIT
  6. while true
  7. do
  8. >file$count
  9. count=count+1
  10. done
复制代码
发表于 2003-1-21 01:46:15 | 显示全部楼层
唉~~~~没人理
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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