帮忙看看这个脚本,有错误提示。

sh/bash/dash/ksh/zsh等Shell脚本
回复
dqb1990aion
帖子: 16
注册时间: 2010-12-14 15:48
送出感谢: 0
接收感谢: 0

帮忙看看这个脚本,有错误提示。

#1

帖子 dqb1990aion » 2010-12-15 10:39

#!/bin/bash



srcdir_list="home/ap/ods/file/user/dhl/xx


tolog()
{
echo "`date +'[%y-%m-%d %h%m:&s]'`$*"

echo "`date +'[%y-%m-%d %h:%m:&s]'`$*">>file_log
}
if [ -f ${srcdir}/abc ]
then
cp ${srcdir}/abc ${srcdir}/cba
tolog "文件abc复制到cba成功"
fi
else if [ -f ${srcdir}/cba ]
then
cp ${srcdir}/cba ${srcdir}/cba.bak
tolog "文件cba备份成cba.bak"
fi


vip.sh: line 22: unexpected EOF while looking for matching `"'
vip.sh: line 25: syntax error: unexpected end of file

vip.sh: line 19: syntax error near unexpected token `else'
vip.sh: line 19: ` else if [ -f ${srcdir}/cba ]'


高手快粗线吧
头像
trigger
帖子: 1585
注册时间: 2006-10-25 18:08
送出感谢: 0
接收感谢: 0

Re: 帮忙看看这个脚本,有错误提示。

#2

帖子 trigger » 2010-12-15 11:03

首行引号没闭合
else if不这样写
去看书
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
头像
tenzu
论坛版主
帖子: 36913
注册时间: 2008-11-21 20:26
送出感谢: 0
接收感谢: 21 次

Re: 帮忙看看这个脚本,有错误提示。

#3

帖子 tenzu » 2010-12-15 11:05

我这种不会编程的都看出来fi, else if那里有问题 :em04
头像
trigger
帖子: 1585
注册时间: 2006-10-25 18:08
送出感谢: 0
接收感谢: 0

Re: 帮忙看看这个脚本,有错误提示。

#4

帖子 trigger » 2010-12-15 11:09

即便忽略语法错误,你这里边的逻辑也是错的
abc复制到cba,此时cba当然已经存在,还判断什么?还备份什么?
看你上个帖子的说法,应该先判断cba是否存在,若存在,先备份cba到cba.bak然后才能进行abc覆盖cba操作
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
dqb1990aion
帖子: 16
注册时间: 2010-12-14 15:48
送出感谢: 0
接收感谢: 0

Re: 帮忙看看这个脚本,有错误提示。

#5

帖子 dqb1990aion » 2010-12-15 11:16

trigger 写了:即便忽略语法错误,你这里边的逻辑也是错的
abc复制到cba,此时cba当然已经存在,还判断什么?还备份什么?
看你上个帖子的说法,应该先判断cba是否存在,若存在,先备份cba到cba.bak然后才能进行abc覆盖cba操作


-。-逻辑一直搞不清楚 else if 已经改过来了,


逻辑阿。
头像
trigger
帖子: 1585
注册时间: 2006-10-25 18:08
送出感谢: 0
接收感谢: 0

Re: 帮忙看看这个脚本,有错误提示。

#6

帖子 trigger » 2010-12-15 11:27

其实可以这样想:
无论是否需要备份cba,abc总是要复制到cba的。

那么你根本不需要判断cba是否已经存在。放心大胆地执行cp cba cba.bak ,然后直接cp abc cba。如果想让输出好看一点,就这样写:
[bash]cp cba cba.bak 2>/dev/null ; cp abc cba[/bash]
一行就够了
楼主真是一派胡言,真可谓:“两个黄鹂鸣翠柳,不知所云;一行白鹭上青天,不知所止“。本来不想和你辩论,今天气愤不过,和你理论一番。我国宪法写得清清楚楚:“一夜夫妻百日恩,七楼以上才有电梯”。这个想必你知道,既然知道,你就不能断章取义,就算是天气预报,它还有不准的时候呢!!!再者说了,那中国银行也不是你一家开的。人家马拉多纳都结婚了,你还拿着粮票顶什么用呢。真是滑天下之大稽。前些日子,全国人大刚刚开过会,郑重声明:“中国不搞多party制,存栏母猪给补贴”。多好的事呢,楞让你这号人给搅混了。
dqb1990aion
帖子: 16
注册时间: 2010-12-14 15:48
送出感谢: 0
接收感谢: 0

Re: 帮忙看看这个脚本,有错误提示。

#7

帖子 dqb1990aion » 2010-12-15 11:35

trigger 写了:其实可以这样想:
无论是否需要备份cba,abc总是要复制到cba的。

那么你根本不需要判断cba是否已经存在。放心大胆地执行cp cba cba.bak ,然后直接cp abc cba。如果想让输出好看一点,就这样写:
[bash]cp cba cba.bak 2>/dev/null ; cp abc cba[/bash]
一行就够了
:em06 :em06 :em06 的这个我早写过了

一定让我写脚本 我也没办法。
头像
pocoyo
论坛版主
帖子: 25878
注册时间: 2008-03-25 15:49
来自: 谁知道?
送出感谢: 5 次
接收感谢: 9 次
联系:

Re: 帮忙看看这个脚本,有错误提示。

#8

帖子 pocoyo » 2010-12-15 11:39

再短也能当脚本 :em06
头像
tigerdoo
帖子: 327
注册时间: 2006-11-17 23:02
送出感谢: 0
接收感谢: 0

Re: 帮忙看看这个脚本,有错误提示。

#9

帖子 tigerdoo » 2011-01-01 16:24

dqb1990aion 写了: :em06 :em06 :em06 的这个我早写过了

一定让我写脚本 我也没办法。
难道非要达到一定字数才叫脚本?
IBM T41-P4M 1.5G/1GB/40GB HDD/DVD/14.1TFT/IPW2100 & 10-100M
OS:Xubuntu 11.10
生活就是折腾
活在成都
使用update-rc.d管理Linux服务
tusooa
帖子: 6546
注册时间: 2008-10-31 22:12
系统: 践兔
送出感谢: 6 次
接收感谢: 10 次
联系:

Re: 帮忙看看这个脚本,有错误提示。

#10

帖子 tusooa » 2011-01-02 20:45

tolog "文件abc复制到cba成功"
fi
else if [ -f ${srcdir}/cba ]
红色部分要去掉。

代码: 全选

] ls -ld //
回复

回到 “Shell脚本”