美文网首页Shell编程
Shell编程之trap命令

Shell编程之trap命令

作者: 创新lab | 来源:发表于2017-08-15 21:31 被阅读0次

title: Shell编程之trap命令
tags: shell编程,trap


前序

今天看公司里面的一段代码,看到下面一段:

trap "${log_cmds}" EXIT

当时看到这段以为这个trap是自己写的一个函数,搜索了一下才发现这个居然是linux自带的一个命令,了解之后才发现这个命令的功能真是太强大了。实在是值得我好好写一篇文章记载下来。

用法

到底是什么功能惊艳到我呢?trap是一个可以设置接收信号类型,然后执行你给出的命令的命令。比如上面我贴的代码,放在脚本里面的含义就是当脚本执行完毕,执行中间的命令。这种类似回调函数和Go语言中defer一样的用法,没想到Shell里面也有。具体的用法就是:

trap command signal

其中中间的是我们需要执行的命令,最后的是我们想要监听的信号(这里就不列出了所有的信号,可以trap -l查看),这样以后如果需要在脚本执行完毕后加log,就可以这么操作。

例子

 trap "echo 'xxoo' " HUP INT QUIT TSTP

执行完上面命令,每次在控制台Ctrl+c都会打印"xx00",这样我们可以做到屏蔽信号的作用,恢复到原样,执行下面的命令:

trap : HUP INT QUIT TSTP

小结

关于Linux的命令和Shell编程真是博大精深,需要好好去学习,去从别人的代码中去学习。

相关文章

  • Shell编程之trap命令

    title: Shell编程之trap命令tags: shell编程,trap 前序 今天看公司里面的一段代码,看...

  • 进程(七):trap 语句

    Bash 的内部命令 trap,让我们可以在 Shell 脚本内捕获特定的信号并对它们进行处理。 trap 命令的...

  • Shell脚本调试技术

    本文全面系统地介绍了shell脚本调试技术,包括使用echo, tee, trap等命令输出关键信息,跟踪变量的值...

  • Bash脚本编程之trap信号捕捉

    一、简介 trap命令是shell的一个内建命令,用于在脚本中指定如何处理对应的信号。比方说,通常脚本接收到系统发...

  • 【Linux 命令行与 shell 脚本编程大全】 16 控制脚

    导览 Linux 可以利用信号控制脚本,这在第 4 章中已经有介绍 trap 命令可以在脚本中拦截 shell 发...

  • 嵌入式day12

    shell脚本的本质 shell脚本语言是解释型语言 shell脚本的本质:shell命令的有序集合 shell编...

  • bash 中冷门但非常有用的命令: trap

    trap 属于bash的内置命令,所以查看帮助用: help trap, 如果用”man trap“则会跳出bas...

  • Linux trap

    trap是一个shell内建命令,它用来在脚本中指定信号如何处理。比如,按Ctrl+C会使脚本终止执行,实际上系统...

  • trap 命令

    我在通过七牛给的可执行文件进行推送文件到 cdn 的时候,发现总是命令行总是返回 1。 这里有个技巧 $? 可以输...

  • trap命令

    trap命令用于指定在接收到信号后将要采取的动作,常见的用途是在脚本程序被中断时完成清理工作。当shell接收到s...

网友评论

    本文标题:Shell编程之trap命令

    本文链接:https://www.haomeiwen.com/subject/pwzvrxtx.html