shell笔记21(调试)
2018-12-20 本文已影响16人
机智的老刘明同志
dos2unix XXX.sh:
有时候检查脚本明明没问题,但就是报错,这时候可能需要执行 dos2unix
DOS格式的文本文件转换成UNIX格式(去掉^M)
echo:
类似php的var_dump
![](https://img.haomeiwen.com/i13091615/41e2d302e83e2b0e.png)
使用bash命令参数调试:
sh [ -nvx ] scripts.sh
-n:不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示
-v:在执行脚本时,先将脚本的内容输出到屏幕上然后执行脚本,如果有错误,也会给出错误提示
-x:将执行的脚本内容及输出显示在屏幕上
-n:语法没错误没有任何返回,仅检查语法错误
![](https://img.haomeiwen.com/i13091615/17d3b9cd0362d1d8.png)
-v:
![](https://img.haomeiwen.com/i13091615/a010a8c29ae22fb4.png)
-x:追踪脚本非常好的一种方法,可以在执行前列出所有执行的程序段 适用于逻辑错误的脚本
![](https://img.haomeiwen.com/i13091615/42e0cbdfa1c6faa9.png)
set命令辅助脚本调试:
set -n 读命令但不执行
set -v 显示读取的所有行
set -x 显示所有命令及其参数 (可以指定调试作用域: set -x 开启调试 set+x 关闭调试 )
![](https://img.haomeiwen.com/i13091615/8316d711005fd5d0.png)
![](https://img.haomeiwen.com/i13091615/a32136b88f1f26cf.png)