阅 读 文 章

帮忙搞定一个shell

[来源:网上转载 (http://www.chinaunix.net) | 作者:网友(iamjw) | 时间:2007-05-27 | 浏览:人次 ]


我想从远端机器上的多个日期目录中自动ftp文件,写了一个shell,但不能实现,问题是ftp连接中不能执行shell只能执行ftp中的命令,虽然不能那样写,但可以让大家明白我的意思帮我另出方法,谢谢
ftp -i -n host < ftp.txt

ftp.txt 内容
user user pass
hash
cd /data2/detail       //此目录下有若干日期目录
for i in `ls -1`
do
cd $i
mget *
cd ..
done
bye



 sw_yp 回复于:2003-09-25 23:02:52

是不是日期目录定时生成,有相应的格式。
请说明


 iamjw 回复于:2003-09-26 11:25:44

日期目录不是自动生成的
远端机器/data2/detail 下内容
20030612/  20030730/  20030815/  20030818/  20030823/  20030906/  20030915/  20030722/  20030731/  20030816/  20030820/  20030824/  20030907/  20030916/  ......
如果到一个一个目录中去mget,太累了


 freshman 回复于:2003-09-26 14:46:39

有一个笨办法

for i in `ls -1` 
do   
   echo "user user pass 
             hash 
             cd /data2/detail
             cd $i
             mget * 
             by"  >; ftp.txt
   ftp -i -n < ftp.txt
done


 iamjw 回复于:2003-09-26 18:00:03

您的办法一点不笨,在您的启发下我修改了一下,但只能从远端机器上put到本地机器上
for i in `ls -1`
do
if [ -d $i ]
then
   echo "user root root
   hash
   prompt off
   cd /tmp/dic
   mput * " >; ftp.txt
   cd $i
ftp -i -n test < ../ftp.txt
   cd ..
else
exit
fi
done
 我还是想从本地机器上get,因为本地机器ftp是做了限制的只能get ,我的脚本是在另外的机器上测试的。


 shw2000 回复于:2003-10-20 20:41:07

safsdg


 大头虎 回复于:2003-11-14 20:03:52

可以现在本地机查询对方机器的目录,然后。。。
echo "user root root\nls\n"|ftp -i  -n remotehost |grep "^d"|awk '{print $NF}>; file.list
awk 
while read pathname
do
     echo "user root root\ncd $pathname\nprompt\nmget *\n"|ftp -i -n remotehost
论坛热门帖子: [lch203] 写得蛮好的linux学习笔记(10-21)
[黑马制造] 学习java的30个目标(10-19)
[笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19)
[udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18)
[沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18)
TAG标签: 一个 搞定 帮忙 机器 目录 回复 echo ftp do 日期 本地

最新评论 共有0位网友发表了评论

发表评论

评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名:(注册)
密码:
验证码:
匿名发表

网站地图友情连接交流论坛网站投稿广告服务联系我们留言本站长统计
Some rights reserved: www.chmhome.com, 鄂ICP备07010232号 E-mail:chinakafei@live.com,QQ:552766
中国咖啡技术网(Chmhome):国外编程技术书籍,中文编程手册,经典编程文章,交流技术,技术软件下载,计算机论文,毕业论文.