shell指令碼:建立函式並指定目錄進行下載
寫一個指令碼:
1、建立一個函式,能接受兩個引數:
1)第一個引數為URL,即可下載的檔案;第二個引數為目錄,即下載後儲存的位置;
2)如果使用者給的目錄不存在,則提示使用者是否建立;如果建立就繼續執行,否則,函式返回一個51的錯誤值給呼叫指令碼;
3)如果給的目錄存在,則下載檔案;下載命令執行結束後測試檔案下載成功與否;如果成功,則返回0給呼叫指令碼,否則,返回52給呼叫指令碼;
題目來源於51cto論壇帖子,參考大神的答案,然後自己完善做出來了,大家有更優秀的方法也不妨寫出來。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
#!/bin/bash #writen by mofansheng @2015-08-10 url=$1 dir =$2
download() { cd $ dir &> /dev/null
if [ $? - ne 0 ]
then
read -p "$dir No such file or directory,create now?(y/n)" answer
if [ "$answer" == "y" ]; then
mkdir -p $ dir
cd $ dir
wget $url &> /dev/null
if [ $? - ne 0 ]; then
return "52"
fi
else
return "51"
fi
else
wget $url &> /dev/null
if [ $? - ne 0 ]; then
return "52"
fi
fi
} download $url $ dir
echo $?
|
好多if判斷有點迷糊了;
驗證結果:
目錄存在,則返回0,下載檔案到已存在的目錄裡;
1
2
3
4
|
[root@localhost ~] # sh 1.sh http://www.baidu.com/index.php yong
0 [root@localhost ~] # ls yong/
index.php |
目錄不存在,提示是否要建立,選n不建立,則返回51;
1
2
3
|
[root@localhost ~] # sh 1.sh http://www.baidu.com/index.php fan
fan No such file or directory,create now?(y /n )n
51 |
目錄不存在,提示是否要建立,選y建立,並且下載檔案到新建立的目錄裡;
1
2
3
4
5
|
[root@localhost ~] # sh 1.sh http://www.baidu.com/index.php fan
fan No such file or directory,create now?(y /n )y
0 [root@localhost ~] # ls fan/
index.php |
下載檔案不成功,則返回52;
1
2
|
[root@localhost ~] # sh 1.sh http://www.baidu.com/xxxx.php
fan52 |
本文轉自 模範生 51CTO部落格,原文連結:http://blog.51cto.com/mofansheng/1683714,如需轉載請自行聯絡原作者
相關文章
- Shell指令碼-壓縮指定目錄下前一天檔案指令碼
- 自動建立samba目錄的shell指令碼Samba指令碼
- Java 從指定URL下載檔案並儲存到指定目錄Java
- 批次刪除指定目錄下的sh指令碼指令碼
- git下載倉庫指定目錄Git
- 《使用shell位置變數進行目錄檔案的備份小指令碼》變數指令碼
- 從標準輸入流中讀取並執行shell指定函式函式
- php建立多層目錄的函式PHP函式
- 使用shell指令碼build並建立ipa檔案(轉)指令碼UI
- Nginx技巧——Nginx/Apache下禁止指定目錄執行PHP指令碼(轉自運維之美)NginxApachePHP指令碼運維
- proc_create_data函式建立/proc/目錄下的檔案函式
- 批次顯示指定目錄下的檔案數量的sh指令碼指令碼
- 8、在Shell指令碼中使用函式指令碼函式
- 前端利用Blob物件建立指定檔案並下載前端物件
- Python指令碼實現查詢指定目錄下包含指定關鍵字的檔案Python指令碼
- windows下啟動cmd,開啟指定目錄,執行指定命令Windows
- shell指令碼獲取函式返回值指令碼函式
- 快速建立分支Shell指令碼指令碼
- shell高階-----建立函式函式
- 建立互動式shell指令碼對話方塊指令碼
- Godot遍歷目錄下檔案,並建立按鈕Go
- 清理目錄指令碼指令碼
- IOS-自動打包Shell指令碼(支援目錄帶空格)iOS指令碼
- shell指令碼-透過lftp同步遠端目錄到本地指令碼FTP
- 監控某個目錄使用情況的shell指令碼指令碼
- Linux下如何執行Shell指令碼Linux指令碼
- 執行shell指令碼指令碼
- 關於使用自動指令碼進行檔案下載指令碼
- 使用shell指令碼對Nginx日誌進行切分指令碼Nginx
- 使用 Bash shell 指令碼進行功能測試(轉)指令碼
- linux建立賬戶並自動生成主目錄和主目錄下的檔案Linux
- 使用thin jar啟動並指定lib目錄JAR
- 使用 PHP 進行建立檔案並在下載後進行刪除PHP
- 刪除指定目錄下指定字尾的檔案
- 查詢指定目錄下所有子目錄的大小
- shell oracle 建立使用者指令碼Oracle指令碼
- crontab執行shell指令碼指令碼
- ORACLE PATCH下載目錄Oracle