当前位置:  操作系统/服务器>linux

如何调试Linux shell脚本

    来源: 互联网  发布时间:2014-10-14

    本文导语:  shell也有一个真实的调试模式。如果在脚本"strangescript" 中有错误,您可以这样来进行调试: sh -x strangescript   这将执行该脚本并显示所有变量的值。   shell还有一个不需要执行脚本只是检查语法的模式。可以这样使用: sh...

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脚本调试问题求教
  • 急问怎么用gdb调试ntop,ntop应用程序貌似是个shell脚本
  • sh -x 调试脚本的问题
  • 用内置变量调试shell脚本的方法
  • 如何使用linux下gdb来调试python程序
  • linux 新手散分贴 我要在linux下调试多个.c和.h文件的程序 怎么调试?
  • linux下用gdb调试程序感觉非常不方便,不知道大家使用的什么工具进行调试的呀?
  • linux gdb: 我在一台机器上编译的程序用GDB可以调试,把程序放到另外一台机器上调试,调试信息就没有了 这是什么原因呢?
  • linux下调试的问题
  • 请问Linux下的C语言程序开发大家如何进行断点调试和单步调试?
  • 请教 Linux 中 eclipse + CDT 调试问题
  • linux下调试程序...
  • 关于linux下eclipse调试c++程序的问题
  • 到底怎么样调试linux内核啊?
  • linux下有没有类似于debugview的东东///或者linux下除了gdb,还有什么可以用于调试的软件吗?
  • 请问载linux下如何调试汇编程序,有没有像debug的程序。
  • linux下的调试工具
  • Linux程序调试工具 XBuildStudio
  • linux下如何单步或设置断点调试驱动或应用程序
  • LINUX下的程序调试问题
  • 调查一下:编写Linux内核模块 驱动程序各位高手所用的编辑环境和调试工具
  • linux 下用gdb调试器出现问题
  • 在Linux下用哪种调试工具比较好!(有加分!!!)
  • 请问linux中如何跟踪调试USB无线网卡驱动
  • 求一linux下图形调试工具
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • python之平台独立的调试工具winpdb介绍
  • 有调试经验的高手请进:调试程序如何生成core?如何调试core文件定位错误。
  • kdevelop开发 网络程序 如何调试? 如何调试服务器端的程序
  • kgdb调试环境配好了,怎么调试内核阿?????
  • UNIX下可逐行调试的调试软件
  • 大家一般用什么调试器调试intell格式的汇编?
  • GDB调试问题,多共享库调试
  • 关于GDB无法调试segmentaton fault的问题,调试就死机
  • ?:兄弟们,谈谈jsp的调试环境吧,谁有好的调试方法啊?
  • linux iis7站长之家
  • 如何调试多线程的代码? 多何调试网络代码 服务器的和客户端的
  • 程序访问内存非法退出,调试core时,却发现#0 0x00000000 in ?? () ,奶奶的,已经加了调试信息了
  • gdb调试时命令行参数如何输入?比如main(int argc,char **argv)中,我要把一个filename作为argv[1]传入给gdb调试
  • 为什么JCreator Pro 2.00_007不能进行单步调试,Build菜单下单步调试的选项是灰色的???好痛苦。。
  • gdb调试如何跟踪进入另外一个包含文件的内部函数进行调试?
  • 请问gdb是不是只能调试gcc编译的程序,在unix下用其它编译器编译的程序是不是不一定能用gdb调试的?
  • gdb调试,每次循环怎么运行到指定的断点处,而不是单步调试
  • 单机,调试内核时,无法进入调试状态,怎么回事?
  • 怎么调试unix动态库.
  • Javascript 调试插件
  • JavaScript 调试工具 JSDT


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3