1.11 调试脚本

《Linux Shell 脚本攻略(第 2 版)》读书笔记

  1. 启用 shell 脚本的跟踪调试功能

    bash -x script.sh #使用 -x 选项启动调试模式
    
  2. 使用 set -xset +x 对脚本进行部分调试

    #!/bin/bash
    
    for i in {1..6}; do
      set -x #启动调试模式
      echo $i
      set +x #关闭调试模式
    done
    echo "Script executed"
    

    这样,在执行脚本的时候就能看到在 set -xset +x 之间的代码执行情况。

  1. 使用 _DEBUG 环境变量,进行自定义格式显示调试信息

    #!/bin/bash -xv
    
    function DEBUG() {
      [ "$_DEBUG" == "on" ] && $@ || :
    }
    
    for i in {1..10}; do
      DEBUG echo $i
    done
    

    可以如下运行上面的脚本:

    #在脚本有可执行权限的时候
    _DEBUG=on script.sh
    
    #在脚本无执行权限的时候
    _DEBUG=on bash script.sh
    
  2. 把 shebang 改为 #!/bin/bash -xv 启动调试模式

    这其实跟采用 bash -xv script.sh 一样。

    前提是脚本必须有可执行权限。

  • set -x:启动调试,在执行是现实参数和命令。
  • set +x:禁止调试。
  • set -v:启动打印输入,当命令进行读取时显示输入。
  • set +v:禁止打印输入。

你可能感兴趣的:(1.11 调试脚本)