1、介绍
我们可以利用Bas内建的高度工具或按照易于调试的方式编写脚本。
2、使用选项-x,启动shell脚本的跟踪功能
bash -x script.sh
运行带有-x选项的脚本可以打印出所执行的每一行命令以及当前状态。
注意,也可以通过sh -x script.sh
3、使用set -x和set +x对脚本进行部分调试。
#!/bin/bash
#Filename: debug.sh
for i in {1..6};
do
set -x
echo $i
set +x
done
echo "Script executed"
在上面的脚本中,只会打印出echo $i的调试信息,因为使用了-x和+x对调试区域进行限制。
4、前面介绍的调试手段是bash内建的,它们通常以固定的格式生成调试信息,但是在很多情况下
我们需要自定义格式显示调试信息,这可以通过传递_DEBUG环境变量来建立这类调试风格。
如下面的代码:
#!/bin/bash
function DEBUG()
{
[ "$_DEBUG" == "on" ] && $@ || :
}
for i in {1..10}
do
DEBUG echo $i
done
可以将调试功能置为on来运行上面的脚本。
$ _DEBUG=on ./script.sh
我们在每一个需要打印信息的语句前加上DEBUG。如果没有把_DEBUG=on传递给脚本,那么调试信息不会打印出来。
在Bash中,命令":"告诉shell不要进行任何操作。
5、工作元理
-x标识将脚本中执行过的每一行都输出到stdout。不过我们也可能只关注脚本中的某些部分的命令及参数的打印。
针对这种情况,可以在脚本中使用set builtin来启用或禁用调试打印。
set -x:在执行时显示参数和命令
set +:禁止高度
set -v:当前命令进行读取时显示输入
set +v:禁止打印输入
6、shebang妙用
把shebang从#!/bin/bash改成#!/bin/bash -xv,这样一来,不用任何其它选项就可以启用调试功能了。
分享到:
相关推荐
解决将其插入您要开始调试的位置的代码中:当R解释器到达该行时,它将暂停您的代码,您将能够查看和更改变量。要禁用它,请使用:要在抛出错误时开始调试,请在抛出错误的
第6篇-QTP脚本增强与调试 第6篇-QTP脚本增强与调试
IDA教程-脚本化调试器.pdf
QTP脚本编辑器,可以在调试QTP脚本时使用,帮助查QTP脚本的问题
绿色版的QuickTest Professional脚本调试器,QTP脚本调试器
根据《Shell脚本编程详解》第12章节-Shell脚本编程,自己写的shell脚本。大部分的已经实现,在Ubuntu18环境调试过。比较基础的shell脚本。供初学者参考。
本工具运用QTP脚本调试,可在写完VB脚本运行的时候调试方便使用,可以更高效开发和发现问题
很详细的资源, Realview MDK开发环境的调试脚本,可以初始化Flash的烧写环境
1,首先,要让你的ie允许调试脚本,具体步骤如下: 打开ie->工具菜单->inter选项->高级选项卡->去掉“禁止脚本调试"选项 2,打开vs.net,创建一个新的asp.net项目(或打开一个) 3,运行你要调试的页面 4,当你的页面呈现在...
功能强大的调试软件ollydbg,包含400多个脚本
Appium+夜神模拟器-调试环境搭建指导书,python 跑自动化脚本在模拟器调试,经过项目验证通过。
调试脚本set-trace-dbg-0810.sh
在脚本录制完成后或者手工编写脚本后,我们需要对脚本进行调试运行,脚本调试的过程类似于程序的调试,可以设置断点,按步骤执行等等;脚本调试作为脚本开发的一个重要的过程,是非常重要的,只有通过调试的脚本才能...
023-调试脚本.PDF 024-shell嵌入命令.PDF 025-深入讨论(左尖括号).PDF 026-shell 工具.PDF 027-几个脚本例子.PDF 028-运行级别脚本.PDF 029-cgi 脚本.PDF 030-附录 常用shell命令.PDF 内容简介.TXT
基于Mdbg实现的C#脚本代码调试(编译,断点、单步调试)的简单IDE
linux shel 调试脚本
脚本创建过程 给脚本传递参数 如何双击运行脚本 脚本双击闪退调试 脚本中创建脚本 shell限制命令运行时间 shell同时运行多条命令
IronPython-2.7.7.msi 金蝶云 调试python脚本环境搭建。 使用VS2013+IronPython,用于金蝶云python脚本调试。
此脚本适合oracle存储过程调试用,高手直接无视!