【shell 指令碼】根據給定的網址來使用相應的協議下載檔案
現在要求寫一個程式,接受命令列給定一個網址去下載一個檔案,要求根據網址的協議的不同,採用不同的程式下載。
如果給定的網址以.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 #
如果給定的網址以.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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Scrapy:根據目錄來下載github上的檔案Github
- 根據不同的瀏覽器載入相應的CSS檔案本瀏覽器CSS
- 根據快照產生statpack報表的Shell指令碼指令碼
- 根據網路連線(檔案連結)下載檔案到本地
- 網頁檔案自動下載入庫指令碼_shell_sqlldr網頁指令碼SQL
- Shell 指令碼 ,, 根據程式號退出 從而關機指令碼
- Linux shell 根據時間批量刪除指定資料夾下的檔案Linux
- 用java實現基於http協議的網路檔案下載JavaHTTP協議
- 根據Golang定義的介面生成proto檔案Golang
- jQuery根據滾動條位置載入相應的內容jQuery
- 使用shell指令碼巧妙統計檔案指令碼
- 根據api檔案生成程式碼API
- 根據ip列表檢測主機狀態(shell指令碼)指令碼
- 根據日期來查詢mysql的binlog日誌的指令碼MySql指令碼
- 用shell指令碼來給mysql加索引指令碼MySql索引
- 用python寫個爬取指定網址上所有圖片,並能根據獲取到的圖片網址,進入網址,再次進行圖片獲取 的程式碼指令碼Python指令碼
- 使用shell指令碼替換csv檔案中的資料指令碼
- 共享一個iptables的shell指令碼檔案指令碼
- 【shell 】求兩個檔案相加的指令碼指令碼
- 解決“阻塞效應”-解決指令碼檔案下載阻塞網頁渲染的問題指令碼網頁
- js根據字尾判斷檔案檔案型別的程式碼JS型別
- 使用shell定製awr指令碼指令碼
- Shell指令碼 | 抓取log檔案指令碼
- 根據字典,轉成相應的進位制
- Linux Shell 下載網站指定檔案Linux網站
- 使用shell指令碼build並建立ipa檔案(轉)指令碼UI
- 根據程式的ID取得該程式的SQL指令碼SQL指令碼
- 關於使用自動指令碼進行檔案下載指令碼
- Delphi下載指定網址(URL)的檔案,帶進度條顯示
- 【shell】根據檔案時間有無更新進行報警
- flutter根據給定寬度自適應縮放字型大小Flutter
- 【shell 指令碼】檢視*.gz 檔案的內容指令碼
- 檔案下載相關
- 使用shell定製addm指令碼指令碼
- shell指令碼之批次清空檔案指令碼
- 根據現有 C#程式碼檔案生成擴充套件程式碼檔案的想法C#套件
- Linux使用Shell指令碼實現ftp的自動上傳下載Linux指令碼FTP
- 寫了一個簡單的Linux Shell用來下載檔案Linux