blo*_*m17 0 bash shell openssl date certificate
好的,所以我运行openssl命令来获取过期脚本的日期.这样做给了我这个:
enddate=Jun 26 23:59:59 2012 GMT
Run Code Online (Sandbox Code Playgroud)
然后我把所有东西都切掉,然后离开这个月是"君"
现在,我的脚本的下一部分是告诉用户证书是否已过期,为此我使用if语句,它看起来像这样:
if [ $exp_year -lt $cur_year && $exp_month -lt $cur_month ]; then
echo ""
echo "Certificate is still valid until $exp_date"
echo ""
else
echo ""
echo "Certificate has expired on $exp_date, please renew."
echo ""
fi
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚如何将月份转换为整数甚至进行比较.我想做蛮力的方式是这样的:
Jan=01
Feb=02
Mar=03
...
Run Code Online (Sandbox Code Playgroud)
很明显,这是一种可怕的方式.有谁知道我能做什么?
好吧,你可以使用:
now=$(date +%s)
cert=$(date --date="$enddate" +%s)
if [ $cert -lt $now ]; then
echo "Old!"
fi
Run Code Online (Sandbox Code Playgroud)
即将日期转换为超过纪元的秒数并进行比较