shell脚本的调试

2022-11-21 20:56:35 浏览数 (1)

提示:

脚本不是你写的或者windows下开发的脚本,你检查脚本明明没有问题,但就是执行出现错误,要想到执行dos2unix格式化下。

好习惯:每次写脚本都执行dos2unix格式化下。

代码语言:javascript复制
[root@localhost ~]# dos2unix add.sh    #==>使用dos2unix格式化
dos2unix: converting file add.sh to UNIX format ...
[root@localhost ~]# cat -v add.sh

如果没有dos2unix这条命令,需要使用yum进行安装

代码语言:javascript复制
[root@localhost ~]# rpm -ql dos2unix
/usr/bin/dos2unix
/usr/bin/mac2unix
/usr/share/doc/dos2unix-3.1
/usr/share/doc/dos2unix-3.1/COPYRIGHT
/usr/share/man/man1/dos2unix.1.gz
/usr/share/man/man1/mac2unix.1.gz
[root@localhost ~]#  yum -y install dos2unix

使用bash命令参数调试

[root@localhost ~]# sh [-nvx] add.sh

参数:

-n:不会执行该脚本,仅查询脚本语法是否有问题,并给出错误提示。

-v:在执行脚本时,先将脚本的内容输出到屏幕上然后执行脚本,如果有错误也会给出错误提示

-x:将执行的脚本内容及输出显示屏幕上,这个是对调试很有用的参数。

使用set命令调试部分脚本内容

set命令可辅助脚本调试,以下是set命令常用的调试选项:

代码语言:javascript复制
set -n 读命令但并不执行
set -v 显示读取的所有行
set -x 显示所有命令及其参数。

提示:

1)同bash命令参数功能

2)开启调试功能通过set -x命令,而关闭调试功能通过set x

shell调试技巧小结

1)要记得首先用dos2unix 对脚本格式化

2)直接执行脚本根据报错来调试,有时报错不准确

3)sh -x 调试整个脚本,显示执行过程(大海捞针困难)

4)set -x和set x 调试部分脚本(脚本中设置)

5)echo 输出变量及相关内容,然后紧跟着exit退出,不执行后面程序的,对于逻辑错误比较好用

6)最关键的是语法熟练,编码习惯,变成思想,将错误扼杀在萌芽之中,调试负担,提高效率。

设置vim编辑器自动添加作者信息

文章:http://jingyan.baidu.com/article/49711c61535677fa441b7c88.html?qq-pf-to=pcqq.c2c

提示:(此处不是重点,不多说。百度很多。)

Shell帮助与资料推荐

http://www.gnu.org/software/bash/manual/bash.html

man bash

Unix Shell 范例精解(第4版)老男孩推荐

Unix Shell百度云盘下载 密码:3z0x

0 人点赞