shell脚本调试

来源:互联网 发布:snmp 监控windows 编辑:程序博客网 时间:2024/05/24 04:35

调了半个下午的shell脚本。。shell真是一个NB的工具。。多谢一个空格,少写一个空格都能让人调到死。。

1、有些很诡异的错误,执行的时候报错的位置并不一定正确,下午在初始定义变量的时候最后少写了",结果执行的时候报的是跟这行隔的很远的一行syntax error near unexpected token `(',这个可以用-x来调试发现

2、echo "some thing" > $file

当使用重定向符号>将输出流定位到file的时候,若file不存在则自动创建。但是!!!自动创建的前提是file所在的目录已经存在,只能手动mkdir出目录,才能时间自动创建文件。

3、

DATE_FORMAT = $(echo $SELECTDATE | sed 's/-//g') 

这个语句会导致:

++ echo 2013-08-09
++ sed s/-//g
+ DATE_FORMAT = 20130809
******.sh: line 65: DATE_FORMAT: command not found

因为等号左右各有一个空格。。就悲剧了。。把DATE_FORMAT当成一个命令

等号两边千万不要有空格。

4、在使用mysql命令的时候

-e 参数后面的语句加上双引号“”

原创粉丝点击