脚本ftp.sh如下:
#!/bin/bash
#Usage: sh ftp.sh
#ftp files
echo "
open $1
passive
prompt off
user $2 $3
binary
lcd $4
cd $6
mput $5
close
bye
" |ftp -v -n |tee autoftp.log >/dev/null
SUCC="226 File receive OK."
RESULT=`grep -I "${SUCC}" autoftp.log`
rm -rf autoftp.log
if [ "${RESULT}" = "${SUCC}" ]
then
#echo "succeed"
exit 0
else
exit 1
fi
注释:首先登陆ftp,并使用binary方式上传上传文件;将ftp输出的信息重定向到 autoftp.log,然后判断autoftp.log中是否包含上传成功的信息;
如果成功,脚本返回0,如不成功,返回1;
在C程序中调用的方法:if (system(:sh ftp.sh %s %s %s %s %s %s:) == 0) printf("上传成功");
linux 下怎
判断 ftp文件
是否上传完成