shell脚本调试
最简单的调试命令当然是使用echo命令。您可以使用echo在任何怀疑出错的地方打印任何变量值。这也是绝大多数的shell程序员要花费80%的时间来调试程序的原因。Shell程序的好处在于不需要重新编译,插入一个echo命令也不需要多少时间。
shell也有一个真实的调试模式。如果在脚本"strangescript" 中有错误,您可以这样来进行调试:
sh -x strangescript
这将执行该脚本并显示所有变量的值。
shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用:
sh -n your_script
这将返回所有语法错误。
linux/unix shell l脚本调试方法
Shell提供了一些用于调试脚本的选项,如下所示:
-n
读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
-v
一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
-x
提供跟踪执行信息,将执行的每一条命令和结果依次打印出来
使用这些选项有三种方法,一是在命令行提供参数
$ sh -x ./script.sh二是在脚本开头提供参数
#! /bin/sh -x第三种方法是在脚本中用set命令启用或禁用参数
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient Args."
exit 1
set +x
fiset -x和set +x分别表示启用和禁用-x参数,这样可以只对脚本中的某一段进行跟踪调试。
㈡ 如何调试shell脚本各种方法都说说。
方法一:sh -x script.sh
-x选项会将运行到的脚本内容显示在屏幕上,前面有个+号。这样就知道哪句被执行到了。对调试很有帮助。
方法二:在脚本中使用debug开关
适用于只调试部分脚本的情况。
set -x
......(要调试的代码段)
set +x
然后sh script.sh运行脚本
方法三:在脚本中添加打印
比如搞个log输出函数,专门用于打印调试相关信息。
_log()
{
if [ "$_DEBUG" = "true" ]; then
echo "调试信息"
fi
}
只要在外面控制$_DEBUG开关即可。
㈢ 可调试 shell脚本有什么ide,或者ide中的插件是什么
http://tieba..com/p/2316624345
㈣ shell 脚本怎么调 shell
最简单的调试命令当然是使用echo命令。您可以使用echo在任何怀疑出错的地方打印任何变量值。这也是绝大多数的shell程序员要花费80%的时间来调试程序的原因。Shell程序的好处在于不需要重新编译,插入一个echo命令也不需要多少时间
shell也有一个真实的调试模式。如果在脚本"strangescript" 中有错误,您可以这样来进行调试:
sh -x
strangescript
这将执行该脚本并显示所有变量的值。
shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用:
sh -n your_script
这将返回所有语法错误。
linux/unix shell l脚本调试方法
Shell提供了一些用于调试脚本的选项,如下所示:
-n
读一遍脚本中的命令但不执行,用于检查脚本中的语法错误
-v
一边执行脚本,一边将执行过的脚本命令打印到标准错误输出
-x
提供跟踪执行信息,将执行的每一条命令和结果依次打印出来
使用这些选项有三种方法,一是在命令行提供参数
$ sh -x ./script.sh二是在脚本开头提供参数
#! /bin/sh -x第三种方法是在脚本中用set命令启用或禁用参数
#! /bin/sh
if [ -z "$1" ]; then
set -x
echo "ERROR: Insufficient
Args."
exit 1
set +x
㈤ 如何在 Shell 脚本中执行语法检查调试模式
使用bash -x 脚本文件名
例如:脚本文件whi.sh
#!/bin/bash
COUNTER=0
while[$COUNTER-lt3];do
echoThecounteris$COUNTER
COUNTER=`echo$COUNTER+1|bc`
done
正常调用和调试模式对比:
㈥ 如何调试BeanShell脚本
vars.get(变量名):获取定义变量对应的值,含BeanShell脚本生成变量;
vars.put(变量名,变量值):生成新的变量或修改已存在的变量;
props.get(变量名):获取jmeter.properties中定义变量对应值;
㈦ 如何在vim中调试shell脚本
这个可能没法做到,shell脚本的作用是把一些需要用户执行的命令结合起来自动运行
但是vim是编辑文件的命令,既然你需要编辑文件,那为什么还需要shell执行呢
㈧ 如何调试Shell脚本
1) 检查语法错误:
一般来说我们可以通过修改shell脚本的源代码,令其输出相关的调试信息来定位错误,那有没有不修改源代码来调试shell脚本的方法呢?答案就是使用shell的执行选,下面是一些常用选项的用法:
-n 只读取shell脚本,但不实际执行
-x 进入跟踪方式,显示所执行的每一条命令
-c "string" 从strings中读取命令“-n”可用于测试shell脚本是否存在语法错误,但不会实际执行命令。在shell脚本编写完成之后,实际执行之前,首先使用“-n”选项来测试脚本是否存在语法错误是一个很好的习惯。因为某些shell脚本在执行时会对系统环境产生影响,比如生成或移动文件等,如果在实际执行才发现语法错误,您不得不手工做一些系统环境的恢复工作才能继续测试这个脚本。“-c”选项使shell解释器从一个字符串中而不是从一个文件中读取并执行shell命令。当需要临时测试一小段脚本的执行结果时,可以使用这个选项,如下所示:
sh -c 'a=1;b=2;let c=$a+$b;echo "c=$c"'"-x"选项可用来跟踪脚本的执行,是调试shell脚本的强有力工具。“-x”选项使shell在执行脚本的过程中把它实际执行的每一个命令行显示出来,并且在行首显示一个"+"号。 "+"号后面显示的是经过了变量替换之后的命令行的内容,有助于分析实际执行的是什么命令。 “-x”选项使用起来简单方便,可以轻松对付大多数的shell调试任务,应把其当作首选的调试手段。2) 调试工具-bashdb
使用shell调试器bashdb,这是一个类似于GDB的调试工具,可以完成对shell脚本的断点设置,单步执行,变量观察等许多功能。使用bashdb进行debug的常用命令
1.列出代码和查询代码类:
l 列出当前行以下的10行
- 列出正在执行的代码行的前面10行
. 回到正在执行的代码行
w 列出正在执行的代码行前后的代码
/pat/ 向后搜索pat
?pat?向前搜索pat2.Debug控制类:h 帮助help 命令 得到命令的具体信息
q 退出bashdb
x 算数表达式 计算算数表达式的值,并显示出来
!!空格Shell命令 参数 执行shell命令
使用bashdb进行debug的常用命令(cont.)
控制脚本执行类:
n 执行下一条语句,遇到函数,不进入函数里面执行,将函数当作黑盒
s n 单步执行n次,遇到函数进入函数里面
b 行号n 在行号n处设置断点
del 行号n 撤销行号n处的断点
c 行号n 一直执行到行号n处R 重新启动Finish 执行到程序最后
㈨ Linux如何用脚本控制调试
是用GDB调试吗?熟练了自然就效率高了。
调试只能人为,因为需要在你怀疑的地方设断点让程序暂停运行,并查看你所关注的关键变量的当前值及函数调用栈。
如果用脚本,脚本需要了解你的意图,就需要你提前设定好调试的条件,而且脚本本身又是需要调试的,这又何苦呢。
㈩ shell 脚本如何进行调试
Shell提供了一些用于调试脚本的选项,如:
1.-n :读一遍脚本中的命令但不执行,用于检查脚本中的语法错误。
2.-v :一边执行脚本,一边将执行过的脚本命令打印到标准错误输出。
3.-x :提供跟踪执行信息,将执行的每一条命令和结果依次打印出来。该选项有三种常见的使用方法:
1.在命令行提供参数。如:itcast@itcast$ sh -x ./script.sh
2.在脚本开头提供参数。如:#! /bin/sh -x
在脚本中用set命令启用或禁用参数。如:set -x 和 set +x分别表示启用和禁用-x参数,这样可以只对脚本中的某一段进行跟踪调试。
学会了吗?我也是在黑马程序员学了C之后会的,现在已经工作了,工资15K,福利待遇挺好的。