• <dl id='zwai'></dl>
    <fieldset id='zwai'></fieldset>

    <code id='zwai'><strong id='zwai'></strong></code>
    <span id='zwai'></span>

      <i id='zwai'></i>
      1. <tr id='zwai'><strong id='zwai'></strong><small id='zwai'></small><button id='zwai'></button><li id='zwai'><noscript id='zwai'><big id='zwai'></big><dt id='zwai'></dt></noscript></li></tr><ol id='zwai'><table id='zwai'><blockquote id='zwai'><tbody id='zwai'></tbody></blockquote></table></ol><u id='zwai'></u><kbd id='zwai'><kbd id='zwai'></kbd></kbd>
        <i id='zwai'><div id='zwai'><ins id='zwai'></ins></div></i>

          <acronym id='zwai'><em id='zwai'></em><td id='zwai'><div id='zwai'></div></td></acronym><address id='zwai'><big id='zwai'><big id='zwai'></big><legend id='zwai'></legend></big></address>

            <ins id='zwai'></ins>

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

            • 时间:
            • 浏览:134
            • 来源:124软件资讯网

                这篇文章主要先容了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不要举行任何操作  。