一起学习网 一起学习网


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

网络编程 Linux Shell脚本系列教程(七):脚本调试 06-22

一、调试脚本

调试功能是每一种编程语言都应该实现的重要特性之一,当出现一些始料未及的情况时,用它来生成脚本的运行信息,调试信息可以帮你弄清楚是什么原因使得程序发生崩溃或者行为异常。
二、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中判断字符串是否为数字的6种方法分享
本篇文章主要介绍了"shell判断字符串是否为数字",主要涉及到shell判断字符串是否为数字方面的内容,对于shell判断字符串是否为数字感兴趣的同学可以

Linux Shell脚本查看NUMA信息
Nova在NFV场景下会提供NUMA相关高级特性,这里提供一个脚本查看计算节点的NUMA相关信息。#!/bin/bashfunctionget_nr_processor(){grep'^processor'/proc/cpuinfo|wc-l}functionge

Shell中函数返回值超出问题
1、前言快半年没有写博客了,荒废了很久,工作中的杂事太多,自己越来越懒了。为了鞭策自己成长,还是要坚持写写博客,记录自己的成长。2、shell


编辑:一起学习网

标签:脚本,功能,信息,字符串,内建