GNU/Linux 使用Shell Script

2018-07-25 13:42 更新

Shell Scripts 說穿了就是把 bash 各種的指令 (command) 包進(jìn)一個(gè) Scripts 里,并搭配條件判斷式、回圈 (loop) 及應(yīng)付各種狀況,更可與排程 (Cron Job) 結(jié)合進(jìn)行周期性的作業(yè)。

隨著使用的指令及撰寫的 Scripts 增加,對(duì)電腦的整體觀念及熟悉度也會(huì)隨之提升。這種完全操控電腦的招式就藏在日常生活中,等著大家去發(fā)現(xiàn)!這就是為什么凍仁會(huì)堅(jiān)持要學(xué)習(xí)指令的原因,依賴圖形界面是難以得到累積的。以下就讓凍仁介紹些 Scripts。

使用 wget 下載指定檔案內(nèi)的連結(jié)

原先凍仁都習(xí)慣用自己寫的 wget-list.sh 來批次下載指定的檔案,但后來發(fā)現(xiàn) wget 早就支持指定檔案下載的參數(shù) -i 于此跟大家分享。

$ wget -i list.txt

使用 MD5 進(jìn)行批次驗(yàn)證

相信 MD5 批次驗(yàn)證一功能在 Windows 上有不少的替代方案。但如果能直接在效能極佳的服務(wù)器上進(jìn)行離線作業(yè)不是更好?這支簡單的 Scripts 是個(gè)讓凍仁提早下班的壓箱寶呢!

建立批次產(chǎn)生驗(yàn)證檔 script。 [mirror]

$ cat md5-make.sh
#!/bin/bash
# Filename: md5-make.sh
# Info:    make md5sum fils with list.txt

for X in $(cat list.txt); do

    # 依序使用 md5sum 檢查當(dāng)前目錄下所有檔案,并將其儲(chǔ)存其結(jié)果。
    echo "md5sum $X > $X.sum " | bash

done

建立批次驗(yàn)證 script。 [mirror]

$ cat md5-check.sh 
#!/bin/bash
# Filename: md5-check.sh
# Info:    use md5sum check fils with list.txt

for X in $(cat list.txt); do

    # 依序檢查當(dāng)前目錄下所有的 .sum。
    echo "md5sum -c $X.sum" | bash

    #  使用背景執(zhí)行 (&) 是個(gè)很好的加速方法,但當(dāng)檔案過大或過多時(shí)會(huì)導(dǎo)致系統(tǒng)過于忙碌而無法進(jìn)行其它作業(yè)。
    #echo "md5sum -c $X.sum" | bash &

done

觀看當(dāng)前目錄之檔案。

$ ls
index.htm  index.html  index.php  md5-check.sh  md5-make.sh

將欲驗(yàn)證檔寫入 list.txt

$ ls index.* > list.txt; cat list.txt
index.htm
index.html
index.php

批次產(chǎn)生 MD5 驗(yàn)證檔。

$ ./md5-make.sh

批次進(jìn)行 MD5 驗(yàn)證并儲(chǔ)存紀(jì)錄,事后就可借由紀(jì)錄檔觀看整體的執(zhí)行結(jié)果。

$ ./md5-check.sh | tee md5-result.log
index.htm: OK
index.html: OK
index.php: OK

資料來源


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)