bash – 陷阱触发后退出
发布时间:2020-12-16 01:24:31 所属栏目:安全 来源:网络整理
导读:拿这个脚本 #!/bin/shfd (){ echo Hello world exit}trap fd EXIT INTfor g in {1..5}do echo foo sleep 1done 我想要fd从Control-C或脚本正常退出一次.但是如果你打Control-C,它将运行两次.如何解决这个问题? 做级联陷阱出口127将运行EXIT陷阱并将退出代码
拿这个脚本
#!/bin/sh fd () { echo Hello world exit } trap fd EXIT INT for g in {1..5} do echo foo sleep 1 done 我想要fd从Control-C或脚本正常退出一次.但是如果你打Control-C,它将运行两次.如何解决这个问题?
做级联陷阱出口127将运行EXIT陷阱并将退出代码设置为127,所以你可以说
#!/bin/sh fd () { echo Hello world # No explicit exit here! } trap fd EXIT trap 'exit 127' INT 我记得从其他人的脚本中学习了,经过几年的努力,遇到了各种各样的解决方法.之后,我注意到有些教程解释了这个技巧.但是,在例如Bash手册页面IMHO. (或者这不是我需要的时候,也许有些事情在15年内不会改变… (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |