zoukankan      html  css  js  c++  java
  • trap

    一:用途说明

         trap命令是shell内建的命令,它用在脚本中指定信号如何处理。

      比如,按Ctrl+C会使脚本终止执行,实际上系统发送了SIGINT信号给脚本进程,SIGINT信号的默认处理方式就是退出程序。如果要在Ctrl+C不退出程序,那么就得使用trap命令来指定一下SIGINT的处理方式了。

      trap命令不仅仅处理Linux信号,还能对脚本退出(EXIT)、调试(DEBUG)、错误(ERR)、返回(RETURN)等情况指定处理方式。

    二:常见参数

      1:trap "commands" signals

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

      2:trap signals

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

      3:trap "" signals

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

      4:trap -p

      将当前的tarp设置打印出来。

      5:trap -l

      把所有信号打印出来。

      6:trap "commands" EXIT

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

      7:trap "commands" DEBUG

      在脚本执行时打印调试信息,比如打印将要执行的命令及参数列表。

      8:trap "commands" ERR

      当命令出错,退出码非0,执行commands指定的命令。

      9:trap "commands" RETURN

      当从shell函数返回、或者使用source命令执行另一个脚本文件时,执行commands指定的命令。

  • 相关阅读:
    tinyhttp源码阅读(注释)
    BSON 1.0版本规范(翻译)
    linux下编译qt5.6.0静态库——configure配置
    springboot(二):web综合开发
    Linux 4.10中两个新特性与我的一段故事
    [Perforce]password (P4PASSWD) invalid or unset. 的错误解决
    Cross compiling coreutils and generate the manpages
    【蓝桥杯】PREV-21 回文数字
    【Qt】StackedWidget
    凡人视角C++之string(上)
  • 原文地址:https://www.cnblogs.com/yaohong/p/8550299.html
Copyright © 2011-2022 走看看