Chinaunix

标题: [求助]syntax error near unexpected token `;;' [打印本页]

作者: TokyoLinux    时间: 2014-02-03 14:52
标题: [求助]syntax error near unexpected token `;;'
新人一枚,请多多关照。
在做一个关于日志回转加备份的shell script.
执行脚本时候一直报错。
可也没发现错误,在网上搜索了很久也没找到解决反感。
错误如下:
/usr/local/sbin/log/PULG31.sh: line 518: syntax error near unexpected token `;;'
/usr/local/sbin/log/PULG31.sh: line 518: `;;'
到底是哪里出问题了呀。
我把相关行的代码贴出来,希望大侠指点迷津。
用Case编写的这一段。


        7)   
                 #确认有无日志保存用目录。如无,生成一个。
                        if [ ! -d ${hulft_path}/etc/etc_${log_suffix} ];then

                                 mkdir "${hulft_path}/etc/etc_${log_suffix}"

                                 if [ $? != ${RC_OK} ];then
                                         echo "HULFT集配信ログ格納ディレクトリ作成エラー <etc_${log_suffix}>"
                                         return ${RC_ERR}
                                  fi
                                       fi
                 #执行HULFT日志收集命令(RECIEVE)。 
                        ${hulft_path}/bin/utllist -r -from ${log_suffix} -to ${log_suffix}
                                 
                                 if [ $? != ${RC_OK} ];then
                                         echo "HULFTログローテーション該当データ無し <hulrcvlog.dat>"
                                         return ${RC_ERR}
                                 fi
                          ##执行HULFT日志收集命令(SEND)。 
                        ${hulft_path}/bin/utllist -s -from ${log_suffix} -to ${log_suffix}
                                 
                                 if [ $? != ${RC_OK} ];then
                                         echo "HULFTログローテーション該当データ無し <hulsndlog.dat>"
                                         return ${RC_ERR}
                                 fi
                                  
                        
                          #拷贝文件名为HulftRcv_YYYYMMDD的文件至保存用目录内。如错误,则输出错误信息。
                   cp -pf HulftRcv_${log_suffix} "${hulft_path}/etc/etc_${log_suffix}"
         
                                 if [ $? != ${RC_OK} ];then
                                 echo "ログファイルコピーエラー <etc_${log_suffix}>"
                                 return ${RC_ERR}
                                 fi

                         #拷贝文件名为HulftSnd_YYYYMMDD的文件至保存用目录内。如错误,则输出错误信息。
                   cp -pf HulftSnd_${log_suffix} "${hulft_path}/etc/etc_${log_suffix}"
         
                                 if [ $? != ${RC_OK} ];then
                                 echo "ログファイルコピーエラー <etc_${log_suffix}>"
                                 return ${RC_ERR}
                                 fi
                 #删除HULFT中超过七天有效期的日志信息。        
                    ${hulft_path}/bin/utllog -a -day 7        
                        
                                 if [ $? != ${RC_OK} ];then
                                         echo "HULFT集配信ログ削除エラー <hulrcvlog.datとhulsndlog.dat>"
                                         return ${RC_ERR}
                                 fi
                         fi                                   
                         ;;



其中,错误信息中的518行就是指的最后一行的双分号。
作者: humjb_1983    时间: 2014-02-10 10:40
这里为啥要用;; ,呵呵
作者: TokyoLinux    时间: 2014-02-12 16:03
CASE语句呀,段落结尾不是必须要有;;吗
-----------------------------------------
我也不知道问题出在哪里,我把他们都注释掉了,
然后在VI里面重写了一遍,结果就没有弹出报错了!
可能又是编码的问题吧!



回复 2# humjb_1983


   
作者: humjb_1983    时间: 2014-02-12 16:27
呵呵,那可能确实是编码问题。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2