第16章 Debug Shell脚本
来源:互联网 发布:移动网络投诉管理考试 编辑:程序博客网 时间:2024/06/09 20:15
本章主要介绍一些方便的、有效的、更好的输出调试信息的方法。
本章要学习的知识点
(1)看懂脚本输出的错误信息,并逐步定位到真正的错误;
(2)如何坚持shell脚本的语法是否有错误;
(3)如何通过track模式找到程序的错误;
(4)分析脚本错误的一般步骤;
(5)如何在脚本程序中添加DEBUG支持。
1. 分析报错信息
当我们运行自己编写的shell脚本时,经常会遇到脚本输出错误信息。错误信息只能说明确实有错误发生,但是并不一定告诉我们错误所发生的真实原因和出错位置。因此我们需要对错误信息进行分析和推断,通常沿着报错行往前面找。
2. 进入debug模式
debug模式是一种检查错误的模式,本节主要介绍3中debug模式:
模式
选项
描述
语法检查模式
-n
不执行命令,只进行语法检查
Vebose模式
-v
打印shell读取的所有语句
Trace模式
-x
打印执行替换操作后shell实际执行的命令
进入debug模式的格式:
$/bin/bash –option filename
前面使用的进入debug模式的方法会在脚本的整个运行期间中都起到作用,如果脚本文件很长,这种方式就会产生大量的输出信息:假如我们只想对某一段代码或某一个函数进行debug调试,该如何?
解决方案:通过执行set命令可以在脚本的运行过程中打开或关闭debug模式。
它的使用方法如下:
#打开trace debug模式
set –x
#关闭trace debug模式
set +x
3. 在脚本中添加debug功能
我们知道通过执行set –x命令可以让脚本输出debug的trace信息,但是当脚本交付使用时,删除或注释这些命令也很麻烦。因此,希望有一个开关,通过它控制是否大于debug信息。可以在脚本中使用if语句判断环境变量DEBUG的值,如果等于TRUE就执行set –x命令,如下所示:
#!/bin/bash
if [ “DEBUG”=”true”]
the
set –x
fi
echo “do stuff…”
if [ “DEBUG”=”true”]
the
set +x
fi
4. 使用trap命令
省略
- 第16章 Debug Shell脚本
- Shell 脚本 Debug 方法
- linux shell脚本的debug
- 第12章 Shell脚本编程
- 《Shell脚本学习指南》第2章 入门
- 第10章 shell脚本编写技巧
- 第2章 基本脚本编译------------(shell脚本退出状态)
- shell脚本的第一行
- shell脚本学习第一天
- 学习Shell脚本(第一天)
- 《鸟哥的linux》-第13章-学习Shell脚本
- Shell 脚本编程诀窍 第4章 通配符扩展
- Linux Shell 脚本攻略阅读笔记第1章 小试牛刀
- 《Shell脚本学习指南》第1章 背景知识
- linux shell 学习之第15章 控制脚本
- 第1章Shell介绍和脚本基础
- 第5章 b2d shell脚本
- Linux命令行与shell脚本编程第4章
- phpjson多层乱码解决
- CPU,寄存器,内存三者的关系
- 第15章 Grep和高级正则表达式
- phpjson多层遍历
- html5几个不错的动画及学习网站
- 第16章 Debug Shell脚本
- 进程间通信--信号量
- php类转json
- 专题sed & awk & grep
- 算法 数的计算 最大公约数和最小公倍数问题
- 写在2017 年初--先定一个小目标
- Servlet的一些注意问题
- sun.font.FontManager.getDefaultPlatformFont exception
- UITextField第一个方法的实现