网站首页 > 法规 >脚本发生错误(cad2014当前页面的脚本发生错误)

脚本发生错误(cad2014当前页面的脚本发生错误)

本文讲述了在 Bash 脚本中处理错误的一些技巧,如何获取错误代码、在执行脚本时获得详细输出、处理调试功能和错误重定向。使用这些技巧,系统管理员可以使他们的日常工作变得轻松。

退出状态

在 Bash 脚本中,$?将打印退出状态。如果返回零,则表示没有错误。如果不为零,结论就是任务可能存在一些问题。

如下是一个简单例子:

[root@localhost ~]# cat myscript.sh #!/bin/bashmkdir learningecho $?

如果运行上述脚本一次,它将打印 0,因为该目录不存在,因此脚本将创建它。如果第二次运行该脚本,将获得一个非零值,如下所示:

[root@localhost ~]# sh myscript.sh 0[root@localhost ~]# sh myscript.sh mkdir: cannot create directory ‘learning’: File exists1
Bash 脚本中的错误处理

最佳实践

建议通过将 set -x 命令添加到 shell 脚本来启用调试模式,如下所示:

[root@localhost ~]# cat test3.sh #!/bin/bashset -xecho "Hello World!"mkdiir testing

然后运行脚本查看:

[root@localhost ~]# sh test3.sh + echo 'Hello World!'Hello World!+ mkdiir testingtest3.sh: line 4: mkdiir: command not found
Bash 脚本中的错误处理


可以编写如下调试函数,这有助于随时调用它,使用以下示例:

[root@localhost ~]# cat debug.sh #!/bin/bash_DEBUG="on"function DEBUG(){[ "$_DEBUG" == "on" ] && $@}DEBUG echo 'Testing Debugging'DEBUG set -xa=2b=3c=$(( $a + $b ))DEBUG set +x

输出内容如下:

[root@localhost ~]# sh debug.sh Testing Debugging+ a=2+ b=3+ c=5+ DEBUG set +x+ '[' on == on ']'+ set +x2 + 3 = 5
Bash 脚本中的错误处理

错误重定向

可以使用标准错误输出将所有系统错误重定向到自定义文件,标准错误可以用数字 2 表示。在 Bash shell 执行它,如下所示:

[root@localhost ~]# mkdir users 2> errors.txt[root@localhost ~]# cat errors.txt mkdir: cannot create directory ‘users’: File exists
Bash 脚本中的错误处理


大多数时候,很难在脚本中找到确切的行号。要打印带有错误的行号,请使用
PS4 选项,其中的$LINENO是预定义好的变量。

[root@localhost ~]# cat test3.sh #!/bin/bashPS4='$LINENO: 'set -xecho "Hello World!"mkdiir testing

可以在阅读错误时轻松查看行号:

[root@localhost ~]# sh test3.sh 5: echo 'Hello World!'Hello World!6: mkdiir testingtest3.sh: line 6: mkdiir: command not found
Bash 脚本中的错误处理

总结

本文讲述了在 Bash 脚本中处理错误的一些技巧,如何获取错误代码、在执行脚本时获得详细输出、处理调试功能和错误重定向。使用这些技巧,系统管理员可以使他们的日常工作变得轻松。

相关内容

脚本发生错误(cad2014当前页面的脚本发生错误)文档下载.: PDF DOC TXT
您可能感兴趣的文章
24h快讯
违法生育包括哪些情形,什么叫违法生育
一、教师如果违法计划生育会有什么处罚如果是教师,违反计划生育规定,应由计生机......
2024-04-05 法规
自残违法吗?自残算不算犯罪
一、教唆他人自残构成犯罪吗教唆他人自残有故意杀人的嫌疑,所以规劝大家不要以身......
2024-04-05 法规
新昌机动车违法?机动车违章处理时间限制
一、新昌货车通行证怎么办理1.办理新昌货车通行证是可行的。2.因为新昌货车通......
2024-04-05 法规
违法举报网站,公安干警违法举报平台
一、国家有奖举报平台以举报违章车辆为例,有奖举报平台如下:为加大监管力度,营......
2024-04-05 法规
查看更多