为了使我的问题更精确,这是我的脚本。意外的文件结束错误。有人可以指出我所缺少的东西。
#!/bin/bash
set -x
#
DZHOST='XX.XX.XX.XXX'
DZUSER='ftpuser'
DZSPASS='Ftppass'
DSHOST='XX.XX.XXX.XXX'
DSUSER='userftp'
DSPASS='passftp'
#
DNASN='/home/dsmn/ASN'
{
if [ "$(ls -A $DNASN)" ];
then
ftp -n -u $DZSHOST <<-ASN_END
quote USER $DZUSER
quote PASS $DZPASS
prompt
cd /home/DS/PROD/Import/ASN
lcd ASN
bin
mput *.*
bye
ASN_END
cp $DNASN/*.* ./backup/
fi
}
DNGRA='/home/ds/GRA'
#{
#if [ "$(ls -A $DNGRA)" ];
# then
# ftp -n -u $DSHOST <<-GRA_END
# quote USER $DSUSER
# quote PASS $DSPASS
# prompt
# cd GRA
# lcd GRA
# bin
# mput *.*
# bye
# GRA_END
# cp $DNGRA/*.* ./backup/
#fi
#}
DNGRB='/home/ds/GRB'
{
if [ "$(ls -A $DNGRB)" ];
then
ftp -n -u $DZHOST <<-GRB_END
quote USER $DZUSER
quote PASS $DZSPASS
prompt
cd /home/DS/PROD/Import/GRB
lcd GRB
bin
mput *.*
bye
GRB_END
cp $DNGRB/*.* ./backup/
fi
}
由于ftp访问尚未最终确定,因此会对某些部分进行注释。由于机密性,我不得不更改目录名称,所以如果存在不一致,我会道歉。 我得到这个指向脚本结尾的错误。 语法错误:意外的文件结尾
非常感谢新手。
答案 0 :(得分:0)
当然,您可以根据需要在脚本中包含尽可能多的if语句。你甚至可以嵌套if。
然而,case
语句可能会使您的代码更清晰......
您可以尝试循环浏览文件夹并使用大小写来决定如何处理每个文件夹。