shell学习三十--shell调试

来源:互联网 发布:淘宝福利 编辑:程序博客网 时间:2024/06/06 04:12
1、dos2unix
Linux本身提供了dos2unix和unix2dos这两个命令来实现windows和linux文件的转换,

Windows格式文件的换行符为\r\n ,而Unix&Linux文件的换行符为\n. dos2unix命令其实就是将文件中的\r\n 转换为\n。

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令。
unix2dos则是和dos2unix互为孪生的一个命令,它是将Linux&Unix格式文件转换为Windows格式文件的命令。

安装
[root@node01 ~]# yum install dos2unix
[root@node01 ~]# dos2unix install.log
dos2unix: converting file install.log to UNIX format ...
[root@node01 day9]# dos2unix plus_color.sh 
dos2unix: converting file plus_color.sh to UNIX format ...

对整个目录进行操作
find . -type f -exec dos2unix {} \;

dos2unix和unix2dos本身没有提供递归也就是批量修改的方式,这样一来我们就需要借助于xargs命令了
批量替换为linux文件格式:
find /home/test -name "*.py" | xargs dos2unix

批量替换为dos文件格式:
find /home/test -name "*.py" | xargs unix2dos
优点:批量替换,工作量小, 总的来说,方法二借助于 管道符和xargs来实现的批量命令,将方法二修改一下就可以实现很多的批量操作,

建议:只要不是自己写的或者win下文本编写的shell建议用dos2unix调整一下格式。

2、使用echo命令调试
一步一步调试
打断点,分段排查
在有输出的地方加echo $n 然后exit

3、bash调试
sh 参数  脚本
-n 检查脚本不检查脚本
-x 检查脚本并执行脚本--------------------常用
-v 将脚本输出到屏幕在输出错误

4、set
-n
-v
set -x缩小调试的范围
在脚本里分段加 set -x和set +x

最关键的还是形成标准和规范,减少错误。
原创粉丝点击