ftp下载指定文件

#!/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/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/26855487/viewspace-773599/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值