Bash:在脚本退出之前运行命令?
发布时间:2020-12-15 16:42:03 所属栏目:安全 来源:网络整理
导读:如果bash脚本设置了-e,并且脚本中的命令返回错误,那么在脚本退出之前如何进行一些清理? 例如: #!/bin/bashset -emkdir /tmp/foo# ... do stuff ...rm -r /tmp/foo 如何确保/ tmp / foo被删除,即使…中的命令之一…做…失败? 这里有一个使用陷阱的例子
如果bash脚本设置了-e,并且脚本中的命令返回错误,那么在脚本退出之前如何进行一些清理?
例如: #!/bin/bash set -e mkdir /tmp/foo # ... do stuff ... rm -r /tmp/foo 如何确保/ tmp / foo被删除,即使…中的命令之一…做…失败?
这里有一个使用陷阱的例子:
#!/bin/bash set -e function cleanup { echo "Removing /tmp/foo" rm -r /tmp/foo } trap cleanup EXIT mkdir /tmp/foo asdffdsa #Fails 输出: dbrown@luxury:~ $ sh traptest t: line 9: asdffdsa: command not found Removing /tmp/foo dbrown@luxury:~ $ 注意,即使asdffdsa行失败,清理仍然被执行。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何使用清单链接Container VM上的docker容器?
- xfire webservice异常 java.lang.IllegalStateException: C
- 在特定路线中添加类 – 角度2
- bash – 在UNIX中将Julian时间戳转换为常规时间
- 《数据结构》复习笔记--树
- WebService CXF 问题找不到类 (不晓得到底是不是包的问题,
- 如何在R中转换unix时间戳(毫秒)和时区?
- 第三方库(ng2-page-scroll)在Angular-Cli项目中不起作用
- WebService案例入门(基础篇)
- Webservice error, "The test form is only available