Linux Shell脚本系列教程(七):脚本调试

 更新时间:2015年06月02日 15:26:59   投稿:junjie  
这篇文章主要介绍了Linux Shell脚本系列教程(七):脚本调试,本文讲解了Bash内建调试功能和自定义调试功能等内容,需要的朋友可以参考下

一、调试脚本

调试功能是每一种编程语言都应该实现的重要特性之一,当出现一些始料未及的情况时,用它来生成脚本的运行信息,调试信息可以帮你弄清楚是什么原因使得程序发生崩溃或者行为异常。
二、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不要进行任何操作。

相关文章

  • Shell用sed命令删除特定行的方法

    Shell用sed命令删除特定行的方法

    这篇文章主要介绍了Shell用sed命令删除特定行的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-10-10
  • linux自动重启tomcat脚本分享

    linux自动重启tomcat脚本分享

    linux自动重启tomcat脚本分享,大家参考使用吧
    2013-12-12
  • Linux下一些常用的Shell脚本整理

    Linux下一些常用的Shell脚本整理

    这篇文章主要介绍了Linux下一些常用的Shell脚本整理,很基础,印象不深的话随看随记:)需要的朋友可以参考下
    2015-07-07
  • Shell脚本判断进程是否存在的实现示例

    Shell脚本判断进程是否存在的实现示例

    本文主要介绍了Shell脚本判断进程是否存在的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • shell脚本实现mysql数据库双机定时备份的方法

    shell脚本实现mysql数据库双机定时备份的方法

    最近有个需求,要求实现对某个数据库进行双机备份,每天凌晨备份一次,要求主机器只保留最近十五天的记录,我们决定用shell脚本加定时任务的方式来实现这个需求,接下来通过本文给大家介绍shell脚本实现mysql数据库双机定时备份的方法,感兴趣的朋友一起看看吧
    2022-07-07
  • shell脚本实现公司项目部署交付环境预检查的思路

    shell脚本实现公司项目部署交付环境预检查的思路

    这篇文章主要介绍了shell脚本实现公司项目部署交付环境预检查的思路,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Shell中exit和return的区别讲解

    Shell中exit和return的区别讲解

    今天小编就为大家分享一篇关于,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-04-04
  • linux中&和&&,|和||及分号(;)的用法

    linux中&和&&,|和||及分号(;)的用法

    本文主要介绍了linux中&和&&,|和||及分号(;)的用法,我们经常会用到,但是很多人会混淆,下面就来介绍一下具体用法,巩固的大家的记忆,感兴趣的可以了解一下
    2023-06-06
  • Linux下的tar压缩解压缩命令详解(小结)

    Linux下的tar压缩解压缩命令详解(小结)

    这篇文章给大家分享了linux下的tar 压缩解压缩命令,非常不错,具有参考借鉴价值,需要的朋友参考下
    2017-03-03
  • linux shell 路径截取正则表达式

    linux shell 路径截取正则表达式

    这篇文章主要介绍了linux shell 路径截取正则表达式的相关资料,需要的朋友可以参考下
    2016-10-10

最新评论