Trap命令简介

 Trap命令简介

 

 

一、基本概念

 trap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本终止执行,实际上系统发送了SIGINT信号给脚本进程,SIGINT信号的默认处理方式就是退出程序。如果要在Ctrl +C不退出程序,那么就得使用trap命令来指定一下SIGINT的处理方式了。trap命令不仅仅处理Linux信号,还能对脚本退出(EXIT)、调试(DEBUG)、错误(ERR)、返回(RETURN)等情况指定处理方式。

二、基本格式

  格式:trap "commands" signals

       shell接收到signals指定的信号时,执行commands命令。

1、格式:trap signals

         如果没有指定命令部分,那么就将信号处理复原。比如 trap INT 就表明恢复Ctrl+C退出

2、格式:trap "" signals

         忽略信号signals,可以多个,比如 trap "" INT 表明忽略SIGINT信号,按Ctrl+C也不能使脚本退出。又如 trap "" HUP 表明忽略SIGHUP信号,即网络断开时也不能使脚本退出

3、格式:trap -p signal

         把当前的trap设置打印出来

4、格式:trap -l

         把所有信号打印出来

5、格式:trap "commands" EXIT

         脚本退出时执行commands指定的命令

三、实例分析

         1、写一个脚本ping  ABCIP地址探测所有的主机是否在线;

         1.png

         说明:如果范围为{1..255}时,执行时间比较长,此时ctrl+c中断时无法中断,这时我们可以使用tarp命令,当执行ctrl+c时,会执行一个命令或者行数,见例2

         2、用trap实现中断执行;

         2.png

         3.png

         说明:此时执行ctrl+c时将调用quitScript函数,执行退出。

原创文章,作者:wxdz_2004(古雨秋),如若转载,请注明出处:http://www.178linux.com/4199

(1)
上一篇 2015-05-11 14:07
下一篇 2015-05-11 14:11

相关推荐

  • N25第一周作业

    一.计算机基础知识     1.计算机是什么?         计算机是一种能够按照指令对各种信息进行自动加工和处理的电子设备     2.计算机的组成?       &…

    Linux干货 2016-12-06
  • 描述计算机的组成及其功能

    CPU:计算器,控制器,寄存器内存输入输出设备

    Linux干货 2016-08-15
  • 文件查找命令find详解

    文件的查找命令 find 用法 功能:实时查找工具,通过遍历指定路径完成文件查找 工作特点: •  查找速度略慢•  精确查找•  实时查找•  可能只搜索用户具备读取和执行权限的目录 语法:   find [OPTION]… [查找路径] [查找条件] [处理动作] 查找路径:指定具体目标路径;默认为当前目录查找条件…

    Linux干货 2016-11-07
  • 管道重定向笔记作业

      标准i/o和管道 Vim f1 [root@centos7~]#]ps aux|grep vim root      10967(进程编号)  0.1  0.4 151196  4828 pts/0    S+   11:10   0:00 vim f1 root      11028  0.0  0.0 112660   968 pts/1 …

    Linux干货 2017-11-20
  • 对ssh的简单理解

    ssh:secure shell,protocol,22、tcp安全的远程登录 具体的软件实现:openssh:ssh协议的开源实现,centos默认安装dropbear:另一个开源实现ssh协议版本v1:基于crc-32做MAC,不安全;man-in-middle 已淘汰v2:双方主机协议选择安全的MAC方式基于DH算法做密钥交换,基于RSA或DSA实现身…

    2017-09-29
  • OSI模型与TCP/IP协议栈

         OSI模型:     使用OSI模型的意义:      简化教学     加快发展速度     确保技术的互操作性     简化模块化设计  &nbs…

    2017-08-20