shell Trap命令用法
Posted uxiuxi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell Trap命令用法相关的知识,希望对你有一定的参考价值。
[root@localhost prog]# cat trap2.sh #!/bin/bash function cleanup() { echo "Received signals and cleanup files" } #trap 到SIG信号,自动停止 trap \'cleanup;exit 1\' SIGHUP trap \'cleanup;exit 1\' SIGINT trap \'cleanup;exit 1\' SIGTRAP #SIGKILL can not be traped while : do echo "Hi there" sleep 1 done [root@localhost prog]#
[root@localhost prog]# cat trap4.sh #!/bin/bash trap \'cleanup\' SIGINT function cleanup() { echo "call function" trap - SIGINT #遇到一次SIGINT, 就会清除掉trap捕捉SIGINT } while : do echo "hello aaa" sleep 2 done
[root@localhost prog]# cat trap5.sh #!/bin/bash cleanup_new() { echo "Some new and extra cleanup performed" trap - SIGINT #第三次TRAP 加exit。消除SIGINT } cleanup_old() { echo "Some cleanup performed" trap cleanup_new SIGINT #第二次继续trap INT } trap \'cleanup_old SIGINT\' SIGINT #第一次trap SIGINT while true do echo \'hello\' sleep 1 done [root@localhost prog]#
#!/bin/bash trap "echo trap ctrl+c" SIGINT while : do echo "Hi there" sleep 1 done #通过kill -l 命令可以看到,ctrl+C等同SIGINT,不会打断,但是会trap到所以显示trap ctrl+c
以上是关于shell Trap命令用法的主要内容,如果未能解决你的问题,请参考以下文章