Linux Shell脚本系列教程(七):脚本调试
linux  /  管理员 发布于 7年前   418
一、调试脚本
调试功能是每一种编程语言都应该实现的重要特性之一,当出现一些始料未及的情况时,用它来生成脚本的运行信息,调试信息可以帮你弄清楚是什么原因使得程序发生崩溃或者行为异常。
二、Bash内建调试功能
使用Bash的内建调试功能,可以对整个脚本进行调试,也可以仅对脚本中的某些语句进行调试。
#使用set -x和set +x对脚本的某一句进行调试
复制代码 代码如下:
#!/bin/bash
for i in { 1 2 3 4 5 6 };
do
set -x #开启调试功能
echo $i #要调试的语句
set +x #关闭调试功能
done
echo "Script executed."
复制代码 代码如下:
#使用 -x选项对整个脚本进行调试
bash -x script.sh #等价于sh -x script.sh
三、 自定义调试功能
Bash内建的调试功能仅能输出固定格式的调试信息,但在很多情况下,我们需要以自定义的格式显示调试信息,这可以通过 _DEBUG环境变量来建立这类调试风格。
复制代码 代码如下:
#使用_DEBUG=on bash script.sh运行下列脚本
#!/bin/bash
function DEBUG()
{
[ "$_DEBUG" == "on" ] && $@ || : #使用_DEBUG环境变量调试
}
for i in { 1 2 3 }
do
DEBUG echo $i
done
我们在每一个需要打印调试信息的语句前面家DEBUG,如果没有把_DEBUG=on传递个脚本,那么调试信息就不会打印出来。在Bash中,:告诉shell不要进行任何操作。
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号