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

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

相关推荐

  • Linux find命令使用详则

    find命令 find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录下查找子目录欲文件。并且将查找到的子目录和文件全部进行显示。 语法 find(选项)(参数) 选项 -amin<分钟>:查找在指定时间曾被存取过的文件或者目录,单位以分钟计算; -ane…

    2017-08-03
  • linux 系统启动流程

    假设以个人架设的linux主机为例:当你按下电源键之后,计算机硬件会主动读取BIOS来加载硬件信息及进行硬件系统的自我测试,之后系统会主动读取系统第一个可启动的设备,此时就可以读入引导装载程序了。 引导程序可以指定使用哪个内核文件来启动,并实际加载内核到内存中解压缩与执行,此时内核就能够开始在内存内活动,并检测所有硬件信息,与加载适当的驱动程序来使这部主机开…

    Linux干货 2016-09-12
  • 测试 网络班23期

    123123123123

    Linux干货 2016-09-12
  • N26-第二周

    一、文件管理类命令 pwd:显示工作目录 cd:切换目录 cd [dir] cd: 切换回家目录;注意:bash中, ~表示家目录; cd ~:切换回自己的家目录 cd ~USERNAME:切换至指定用户的家目录; cd -:在上一次所在目录与当前目录之间来回切换; 相关的环境变量 $PWD:当前工作目录 $OLDPWD:上一次的工作目录 file:查看文件…

    Linux干货 2017-03-07
  • 缓存需知

    Edit Web缓存核心技术点需知 5.1 HTTP首部控制 5.2 基于新鲜度检测机制: 2.1 特征1:时间局部性 2.2 特征2:空间局部性 2.3 缓存的优点 2.4 哪类数据应该被缓存 2.5 哪类数据可缓存但不应该被缓存 2.6 缓存命中率决定缓存有效性 2.7 缓存数据生命周期 2.8 缓存处理步骤 2.9 缓存和普通数据读取的区别 1. 完整…

    Linux干货 2017-06-01
  • 马哥教育网络班22期+第二周课程练习

    Linux上文件可管理类命令,其常用的使用方法和相关示例 目录管理类命令 目录管理类命令包含:mkdir,rmdir mkdir 使用说明及格式 移除空目录 rmdir [OPTION]… DIRECTORY…   常见选项及说明 -p –parents 创建时如果父目录不存在,一并创建 -v –ve…

    Linux干货 2016-08-24