免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: wzqstudio
打印 上一主题 下一主题

[系统管理] 一个FTP批量下载的脚本 [复制链接]

论坛徽章:
5
金牛座
日期:2013-10-14 14:40:422015年亚洲杯之伊朗
日期:2015-03-26 10:37:012015亚冠之浦和红钻
日期:2015-10-12 17:47:4115-16赛季CBA联赛之山东
日期:2016-01-20 16:43:1215-16赛季CBA联赛之辽宁
日期:2016-03-29 16:43:59
1 [报告]
发表于 2013-08-02 10:58 |显示全部楼层
你这个for循环其实是在对端的ftp下执行的,ftp下没有for语句所以就报错了
解决:
1、首先把要下载的文件都放到一个数组中
2、下载时引用数组中全部内容就可以了(做为shell变量传给mget)
linux:~/shell # cat ftp.sh
#!/bin/bash
GET=(`cat /root/shell/f.txt`)   ##把f.txt文件中的每一条都放到数组中
ftp -n 192.168.10.21 > a.txt <<!
user root suse
binary
hash
cd /home
lcd /root/shell
prompt
mget ${GET[@]}    ##引用数组内容其实就是f.txt中的项目
close
bye
!

论坛徽章:
5
金牛座
日期:2013-10-14 14:40:422015年亚洲杯之伊朗
日期:2015-03-26 10:37:012015亚冠之浦和红钻
日期:2015-10-12 17:47:4115-16赛季CBA联赛之山东
日期:2016-01-20 16:43:1215-16赛季CBA联赛之辽宁
日期:2016-03-29 16:43:59
2 [报告]
发表于 2013-08-02 15:37 |显示全部楼层
我加的那个()就是为了把所有数都存如数组(我的环境sles11sp2,测试通过的,不知道你系统数组是如何存值的)
下面那个${GET[@]}全部读出
这样可以省去循环的
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP