Shell(md5sum\sha1sum\sha256sum) 編程雜記


  發現三個 Shell 命令 md5sumsha1sumsha256sum,發現用於文件下載辨別還是很有用處的。網絡上充斥着許許多多魔改的程序,有些改動可能是善意、玩鬧的,同時也包含一些改動是惡意的!我們無法保證所下載的資源沒有被修改,更不敢保證他們都沒有惡意。因此我們可以使用 md5sha1sha256 等一系列密碼散列函數進行驗證。
  這里我們不過多的介紹 Shell 命令的具體使用方法,感興趣的朋友可以自行搜索或者* -help。預期的效果類似與 mkdir -p /opt/demo/demo 簡單的花了半個小時進行查找資料發現了有三種方式可以在執行命令的時候動態的改變參數。

  • 在執行 Shell 腳本的后面直接添加字符,例如創建一個'demo.sh'
#!/bin/bash
echo $1
echo $2$3
$ chmod +x demo.sh
$ ./demo.sh


$ ./demo.sh 4 5 6
4
56
$ ./demo.sh 14 5
14
5
$ ./demo.sh 14
14

$ ./demo.sh 14 4 14 14
14
414
#!/bin/bash
while getopts ":a:b:c:" opt
do
    case $opt in
        a)
        echo "參數a的值$OPTARG"
        ;;
        b)
        echo "參數b的值$OPTARG"
        ;;
        c)
        echo "參數c的值$OPTARG"
        ;;
        ?)
        echo "未知參數"
        exit 1;;
    esac
done
$ ./demo.sh -a 1 -b 2 -c 3
參數a的值1
參數b的值2
參數c的值3
$ ./demo.sh -a 1
參數a的值1
$ ./demo.sh -a 11 -d 2
參數a的值11
未知參數
#!/bin/bash
echo "請根據下面的提示輸入你想要設置的值"
read -p "var1= " var1
read -p "var2= " var2
read -p "你已經輸入了所有的變量值,是否立即打印?y/n:" print
if [ ${print}x == yx ];then
    echo "var1= $var1"
    echo "var2= $var2"
elif [ ${print}x == nx ];then
    echo "complete"
else
    echo unknow command
fi
$ ./demo.sh
請根據下面的提示輸入你想要設置的值
var1= 9
var2= 8
你已經輸入了所有的變量值,是否立即打印?y/n:y
var1= 9
var2= 8

ps: 出於惰性並沒有詳細的跟進以及解剖~~.
最后的階段性偷懶方案

#!/bin/bash
Var1=$1
Var2=$2
FilePath=$Var1
# echo $FilePath

md5=`md5sum "$FilePath"`
#unset FilePath
echo "md5:${md5}"
#echo "md5:$(md5sum "${FilePath}")"
echo "sha1:$(sha1sum "${FilePath}")"
echo "sha2:$(sha256sum "${FilePath}")"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM