linux大神帮帮忙?该怎么解决

linux大神帮帮忙?急!!!
我的shell脚本要连接远程ftp获取数据的,有这么一句:ftp -n << ! >>${LOG_FILE}               
#!/bin/sh
LOG_FILE=/home/tiger/mytest/log/`basename $0`.`date +%Y%m%d%H%M%S`.log
#check arguments
if [ $# -ne 1 ]; then
echo "error: arguments were not properly written!"|tee -a ${LOG_FILE};
echo "usage :`basename $0` <batch_date>"|tee -a ${LOG_FILE};
exit 1;
fi
BATCH_DATE=$1
FILE_NAMES="aa.txt bb.txt
cc.txt";
mkdir -p /home/tiger/mytest/data/$BATCH_DATE
ftp -n << ! >>${LOG_FILE}
open 172.28.0.36
user "test" "test"
binary
lcd /home/tiger/mytest/data/$BATCH_DATE
prompt
cd /home/test/mytest/$BATCH_DATE/
get 000.txt
close
bye
!
 
cd /home/tiger/mytest/data/$BATCH_DATE
if [ ! -f 000.txt ]; then
echo "000.txt not exists"|tee -a ${LOG_FILE};
exit -1;
else
ftp -n << ! >>${LOG_FILE}
open 172.28.0.36
user "test" "test"
binary
lcd /home/tiger/mytest/data/$BATCH_DATE
prompt
cd /home/test/mytest/$BATCH_DATE/
mget *.txt
close
bye
!
for FILENAME in $FILE_NAMES; do
if [ ! -f FILENAME ]; then
echo " $FILENAME not exists"|tee -a ${LOG_FILE};
exit -2;
fi
done

echo "pull $BATCH_DATE files successed!"|tee -a ${LOG_FILE};
exit 0;
fi

我运行脚本报错:receiptpulldata-test.sh: line 51: warning: here-document at line 30 delimited by end-of-file (wanted `!')   
  receiptpulldata-test.sh: line 52: syntax error: unexpected end of file


这里个"!"应该和什么地方的"!"产生了冲突,求指教?
------解决方案--------------------
把作为end-of-file使用的“!”换成其他的表示呢?例如换成EOF

ftp -n << EOF >>${LOG_FILE} 
.....
.....
EOF

这样的

------解决方案--------------------
引用:
Quote: 引用:

先去解决你的error吧,脚本本身应该没有什么问题。
但从这个错误信息来看,很可能存在脚本格式不正确,将windows格式转换为unix格式试一试。
在vi中使用命令set ff=unix,保存文件后,在运行脚本。

error is  same as before.linux大神帮帮忙?该怎么解决


xixi~~~
那有个办法 你将你的文件上传 我会下载下来一起分析的~