Linux 下ftp命令问题。

#!/usr/bin/ksh#TestFTPdateVar=`date'+%Y%m%d'`FILE_PATH=/inc_report/inc/sysadm/clist;e... #! /usr/bin/ksh
#Test FTP

dateVar=`date '+%Y%m%d'`
FILE_PATH=/inc_report/inc/sysadm/clist; export FILE_PATH
OTHER_FILE_NAME=CALL_OTHER_LIST_${dateVar}; export OTHER_FILE_NAME

if [ ! -r $FILE_PATH/$OTHER_FILE_NAME ]; then
echo "${FILE_PATH}/${OTHER_FILE_NAME} Can't copy to 192.168.40.44/u01"
else
echo "begin................."
ftp -n 192.168.40.44<<EOF
user oracle oracle
cd /u01
lcd $FILE_PATH
ascii
put $OTHER_FILE_NAME
bye
EOF
fi;

为何以上shell执行的时候报错??
0403-057 Syntax error at line 13 : `<' is not matched.
问题终于解决。。。
就因为EOF两边有空格所致!去掉空格之后运行正常。。。。。。。
展开
 我来答
KevinHpli
2013-05-17 · TA获得超过1421个赞
知道小有建树答主
回答量:751
采纳率:80%
帮助的人:920万
展开全部
# $1 = Remote host
# $2 = Remote user
# $3 = Remote password
# $4 = Remote directory
ftp -n -i << EOF
open $1
user $2 $3
cd $4
ls
close
bye
EOF

# $1 = FTP host
# $2 = FTP user
# $3 = FTP password
# $4 = 1st directory/file name
# $5 = 2nd directory/file name
# $6 = get / put
ftp -n -i << EOF
open $1
user $2 $3
binary
$6 $4 $5
close
bye
EOF
更多追问追答
追问
# $4 = 1st directory/file name
# $5 = 2nd directory/file name
# $6 = get / put

$6 $4 $5 这句意思是把$4复制到$5吗?

若 $4来自服务器A  
  $5是服务器B
$6 $4 $5也可以直接用么?
追答
我这里是传过来的参数,可以替换掉啊
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式