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:禁止打印输入。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容