首页 > 解决方案 > 比较shell中的日期数和输入数

问题描述

www.google.com
current date: 2019-06-12 
exp date: 2019-08-14 
remaining: 63 
date mail select: 63 
not alert

问题是 if 语句的输出不能用作数学逻辑。可能是 $diff 和 $2(input) 的值不相等吗?谁能告诉我如何确定它们?

#!/bin/bash

expi=$(echo | openssl s_client -servername $1 -connect $1:443 2>/dev/null | openssl x509 -noout -dates |grep "notAfter" | cut -d= -f2)

expi_date=$(date -d "$expi" +%Y-%m-%d)
current_date=$(date +%Y-%m-%d)

diff=$((($(date "+%s" -d "$expi_date")-$(date "+%s" -d "$current_date"))/86400))

echo $1

echo "current date: "$current_date

echo "exp date: "$expi_date

echo "remaining: "$diff

echo "date mail select: "$2

if [[$diff -eq $2]]
  then
    echo "alert"
  else
    echo "not alert"
fi

标签: phplinuxbashshell

解决方案


请参考以下代码:-

if [ "$diff" -eq "$2" ];
  then
    echo "equal"
  else
    echo "not equal"
fi

推荐阅读