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}")"

猜你喜欢

转载自www.cnblogs.com/ha0zi/p/12202966.html
今日推荐