加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Bash:如何捕获错误原因?

发布时间:2020-12-15 21:05:29 所属栏目:安全 来源:网络整理
导读:我想在 shell脚本中捕获错误,然后生成一些报告,说明错误原因: trap 'error_handler' ERR 在我的error_handler函数中,我想说明为什么ERR信号被捕获的原因(例如“权限被拒绝”,“找不到远程主机”等). 这可能吗? 解决方法 并不是的.保证在错误处理程序中可用
我想在 shell脚本中捕获错误,然后生成一些报告,说明错误原因:

trap 'error_handler' ERR

在我的error_handler函数中,我想说明为什么ERR信号被捕获的原因(例如“权限被拒绝”,“找不到远程主机”等).

这可能吗?

解决方法

并不是的.保证在错误处理程序中可用的唯一信息是触发ERR的进程的退出状态,在$?中.您甚至不知道进程的名称或进程ID.我认为错误处理程序在退出脚本之前用于通用清理,因此哪个进程具有非零退出状态或原因并不重要.

最好在发生错误时立即报告或处理错误,如下所示:

rm foo || { echo "File removal failed"; }

请注意,大多数命令会将自己的故障通知打印到标准错误.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读