Shell调试
来源:互联网 发布:小程序请求服务器数据 编辑:程序博客网 时间:2024/05/17 22:25
Shell调试篇
检查语法
-n选项只做语法检查,而不执行脚本。
sh -n script_name.sh启动调试
sh -x script_name.sh进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带,如下。带加号表示该条语句是Shell执行的。不带加号表示该语句是Shell产生的输出。
+ array=(1 2 3 4 5)+ for i in '${array[*]}'+ echo 11中断调试
在调试过程中可以按Ctrl + Z中断调试,观察结果,然后再按fg键继续调试即可。
调试代码块
上面的-x选项是调试整个脚本的,如果脚本很大,会很不方便,还有一种方法是调试某一块代码的,如下
set -x...code block...set +x
这样,只对set -x与set +x之间的代码进行跟踪。
调试函数
set -xFunction callset +x
常见错误诊断
xxx.sh: cannot shift
这种错误一般是参数传递有误,比如没有给参数,或者参数个数少了。因为shell脚本使用shift来获取下一个参数,如果个数不对,shift命令就会失败。
xxx.sh: ^M: not found^M是Windows上的回车符\r在UNIX上的显示形式。这种情况多半是在Windows上编辑了shell脚本,然后拿到UNIX/Linux上执行。只要将文件中所有的\r删除即可。
tr -d "\r" <oldfile.sh > newfile.sh或者一个更标准的方法,因为\r的ASCII码是\015,所以可以这样。
tr -d "\015" < oldfile.sh > newfile.sh
转自:http://www.cnblogs.com/softwaretesting/archive/2012/02/06/2339671.html
阅读全文
0 0
- SHELL 调试
- shell 调试
- shell 调试
- 调试shell
- shell调试
- shell 调试
- shell 调试
- Shell调试
- shell调试
- shell调试
- shell 调试
- shell调试
- Shell调试
- Shell调试
- shell调试
- shell学习三十--shell调试
- shell脚本调试技巧
- Shell脚本调试技术
- web开发python第六课css和JavaScript
- 1721: [Usaco2006 Mar]Ski Lift 缆车支柱
- 我的前端故事----我为什么用GraphQL
- 常用排序之堆排序法
- sublime text3安装中文插件
- Shell调试
- golang指针
- File类的使用
- Tensorflow入门二 mnist识别(一)
- 面试总结
- 基于亚像素边缘检测的齿轮内孔计算
- java中File类的使用方法
- MyBatis Generator(MBG)DB2使用说明 LONG VARCHAR 字段
- Linux_CGI_CGIC