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"; } 请注意,大多数命令会将自己的故障通知打印到标准错误. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |