`
yeweijun
  • 浏览: 3216 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
文章分类
社区版块
存档分类
最新评论

Shell调试手册

 
阅读更多
1、检查语法

-n选项只做语法检查,而不执行脚本。

sh -n script_name.sh

2、启动调试

sh -x script_name.sh

进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。

+ array=(1 2 3 4 5)
+ for i in '${array[*]}'
+ echo 1
1

3、中断调试

在调试过程中可以按Ctrl + Z中断调试,观察结果,然后再按fg键继续调试即可。

4、调试代码块

上面的-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块代码的,如下

set -x
...
code block
...
set +x

这样,只对set -xset +x之间的代码进行跟踪。

5、调试函数

set -x

Function call

set +x

6、常见错误诊断

xxx.sh: cannot shift

这种错误一般是参数传递有误,比如没有给参数,或者参数个数少了。因为shell脚本使用shift来获取下一个参数,如果个数不对,shift命令就会失败。

xxx.sh: ^M: not found

^MWindows上的回车符\rUNIX上的显示形式。这种情况多半是在Windows上编辑了shell脚本,然后拿到UNIX/Linux上执行。只要将文件中所有的\r删除即可。

tr -d "\r" <oldfile.sh > newfile.sh

或者一个更标准的方法,因为\rASCII码是\015,所以可以这样。

tr -d "\015" < oldfile.sh > newfile.sh

分享到:
评论

相关推荐

    ADBShell操作手册

    ADB Debugging(adb调试命令) 3 adb devices 3 adb forward &lt;local&gt; &lt;remote&gt; 3 adb kill-server 3 无线网(Wireless) 3 adb connect [:] 3 adb usb 4 安装包管理命令(Package Manger) 4 adb install [option] ...

    UEFI shell使用手册

    UEFI的shell使用手册。为用户提供一个命令行式的、BIOS的调试、诊断环境。

    shell 编程指南pdf

    初学shell 入门好书!!!! 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    高级Bash脚本编程指南_手册CHM版

    这本使用大量的例子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用...

    GDB中文手册及shell

    GDB中文手册,介绍了GDB概述,调试相关的东西及shell程序,有详细的例子程序。

    GDB使用说明(GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具。或许,各位比较喜欢那种图形界面方式的,像VC、BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC、BCB的图形化调试器更强大的功能。)

    GDB概述 2 使用GDB 5 GDB中运行UNIX的shell程序 8 在GDB中运行程序 8 调试已运行的程序 两种方法: 9 暂停 / 恢复程序运行 9

    Shell脚本专家指南

    《Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...

    LINUX与UNIX SHELL编程指南

    ##本电子书籍“LINUX与UNIX SHELL编程指南”中文版,共分29章,每一章独立一个PDF文档,可系统的学习Unix/Linux shell编程知识,同时可作为手册工具使用。 内容简介 5 本书共分五部分 ,详细介绍了SHELL编程技巧,...

    shell程序实验详解

    实验目的 Linux操作系统中shell是用户与系统内核沟通的中介,它为用户使用操作系统的服务提供了一个命令界面。用户在shell提示符($或#)下... 使用调试器gdb来调试程序。  提供清晰、详细的设计文档和解决方案。

    学习shell必备(CN).chm

    你可以把本书作为教材, 自学手册, 或者是关于shell脚本技术的文档. 书中的练习和样例脚本中的注释将会与读者进行更好的互动, 但是最关键的前提是: 想真正学习脚本编程的唯一途径就是亲自动手编写脚本. 这本书也可...

    LINUX与UNIX_Shell编程指南

    第1章文件安全与权限 ...第23章调试脚本 第24章shell嵌入命令 第五部分高级shell编程技巧 第25章深入讨论 第26章shell 工具 第27章几个脚本例子 第28章运行级别脚本 第29章cgi 脚本 附录常用shell命令

    TCL脚本语言手册(很详细)

    详细介绍TCL脚本语言的语法,硬件开发人员调试硬件必备的东西

    gdb简要命令手册(启动、载入、运行、调试等)

    Linux下C编程的简要命令,很全很实用

    NSIS用户手册(中文版)

    调试脚本 脚本的执行 编译器命令 编译器 新式用户界面(Modern UI) 插件 更多 第三章: 命令行的用法 MakeNSIS 的使用 选项 注意事项 环境变量 例子 安装程序的使用 公共选项 卸载程序特殊选项 例子 ...

    bash中文手册

    这本使用大量的例子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用...

    php手册.chm,php手册

    Secure Shell2 Functions CXXIX. Semaphore, Shared Memory and IPC Functions CXXX. SESAM Database Functions CXXXI. Session Handling Functions CXXXII. Shared Memory Functions CXXXIII. Shockwave Flash ...

    GDB使用手册.CHM

    用于在Linux下调试C语言,C++等程序.其中包括: ...GDB中运行UNIX的shell程序 查看运行时数据 处理源程序 调试已运行的程序 改变程序的执行 用GDB调试程序示例 解说详细,来源于网络,经过本人细心整理.

    GDB手册(中文整理)

    五:GDB中运行UNIX的shell程序 六:在GDB中运行程序 七:调试已运行的程序 八:暂停 / 恢复程序运行 九:查看栈信息 十:查看源程序 十一:查看运行时数据 十二:改变程序的执行 十三:在不同语言中使用GDB 十四:...

    PHP官方手册中文版

    Secure Shell2 Functions CLIX. Statistics Functions CLX. Stream Functions CLXI. String 字符串处理函数 CLXII. Subversion 函数 CLXIII. Shockwave Flash Functions CLXIV. Swish Functions CLXV. ...

    PHP函数参考手册大全

    Secure Shell2 Functions CXXIX. Semaphore, Shared Memory and IPC Functions CXXX. SESAM Database Functions CXXXI. Session Handling Functions CXXXII. Shared Memory Functions CXXXIII. Shockwave Flash ...

Global site tag (gtag.js) - Google Analytics