ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ftp下载指定文件

ftp下载指定文件

原创 Linux操作系统 作者:markzy5201190 时间:2013-09-29 14:17:52 0 删除 编辑
#!/bin/bash

#判断给定参数个数
if [ $# -ne 2 ];then
    echo "Usage:$0 "
    exit 1
fi

#获取一个参数前6个字符,如果不是ftp://,即非法ftp URL格式
header=$(echo $1 | cut -c 1-6)
if [ "$header" != "ftp://" ];then
    echo "$0:Invalid ftp URL.">&2
    exit 1
fi

#合法ftp URL:ftp://ftp.myserver.com/download/test.tar.gz
#cut命令通过/字符分隔符,其中-f3,取第3个域server
#在取文件时,cut命令通过/字符分隔符,其中-f4-将从第4个字段开始的后面所有字段;
#basename命令取得filename的文件部分
server=$(echo $1 | cut -d / -f3)
filename=$(echo $1 | cut -d / -f4-)
basefile=$(basename $filename)
echo $basefile
ftpuser=$2

#stty -echo,后面输入密码不会显示,再输入密码之后,需要再重新打开该选项,以便后面
输入可以恢复显示
echo -n "Password for $ftpuser:"
stty -echo
read password
stty echo
echo ""

echo ${0}:Download $basefile from server $server
#here文档,执行ftp命令
ftp -n << EOF
open $server
user $ftpuser $password
get $filename $basefile
quit
EOF

#$?上一个进程的退出值,0表示成功
if [ $? -eq 0 ];then
    ls -l $basefile
fi
exit 0

测试:
>./ftp.sh ftp://ftp.server.com/download/test.tar.gz mark



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/26855487/viewspace-773599/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-04-05

  • 博文量
    82
  • 访问量
    456101