ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 【shell 脚本】根据给定的网址来使用相应的协议下载文件

【shell 脚本】根据给定的网址来使用相应的协议下载文件

原创 Linux操作系统 作者:杨奇龙 时间:2011-03-13 22:25:01 0 删除 编辑
现在要求写一个程序,接受命令行给定一个网址去下载一个文件,要求根据网址的协议的不同,采用不同的程序下载。
如果给定的网址以.xml结尾,则认为要下载的文件已经在给定的网址中指定,否则要下载的文件名为本机的mac地址加.xml扩展名,不包括mac中的冒号。

#!/bin/bash
url=$1
proto=${url%%://*}
mac_addr=$(ifconfig eth0 | grep HWaddr|awk '{print $NF}'|tr -d :
[ -z "${url##*.xml}" ] || url=$url/$mac_addr.xml
if [ $proto == "http" ] || [ $proto == "ftp" ]
 then
  echo "wget $url -O local_file"
else
  tmp=${url#*://}
  host=${tmp%%/*}
  remote_file=${tmp#*/}
  echo "tftp -g -r $remote_file -l locate_file $host"
fi
exit 0
==========测试===============
root@client.example.com # ./getPro.sh  http://hostname.com/onepath/anotherpath
wget http://hostname.com/onepath/anotherpath/0015C5F146A2.xml -O local_file
root@client.example.com # ./getPro.sh  tftp://hostname.com/onepath/anotherpath
tftp -g -r onepath/anotherpath/0015C5F146A2.xml -l locate_file hostname.com
root@client.example.com # ./getPro.sh  tftp://hostname.com/onepath/anotherpath.xml
tftp -g -r onepath/anotherpath.xml -l locate_file hostname.com

root@client.example.com #

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

请登录后发表评论 登录
全部评论
MySQL DBA NoSQL DEVOPS

注册时间:2009-10-07

  • 博文量
    1026
  • 访问量
    7698778