分页: 1 / 1

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

发表于 : 2010-12-15 10:39
dqb1990aion
#!/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 ]'


高手快粗线吧

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

发表于 : 2010-12-15 11:03
trigger
首行引号没闭合
else if不这样写
去看书

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

发表于 : 2010-12-15 11:05
tenzu
我这种不会编程的都看出来fi, else if那里有问题 :em04

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

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

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

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


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


逻辑阿。

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

发表于 : 2010-12-15 11:27
trigger
其实可以这样想:
无论是否需要备份cba,abc总是要复制到cba的。

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

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

发表于 : 2010-12-15 11:35
dqb1990aion
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 的这个我早写过了

一定让我写脚本 我也没办法。

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

发表于 : 2011-01-01 16:24
tigerdoo
dqb1990aion 写了: :em06 :em06 :em06 的这个我早写过了

一定让我写脚本 我也没办法。
难道非要达到一定字数才叫脚本?

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

发表于 : 2011-01-02 20:45
tusooa
tolog "文件abc复制到cba成功"
fi
else if [ -f ${srcdir}/cba ]
红色部分要去掉。