【shell 指令碼】根據給定的網址來使用相應的協議下載檔案

楊奇龍發表於2011-03-13
現在要求寫一個程式,接受命令列給定一個網址去下載一個檔案,要求根據網址的協議的不同,採用不同的程式下載。
如果給定的網址以.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 
wget /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/,如需轉載,請註明出處,否則將追究法律責任。

相關文章