我有一个脚本只需要在if语句中检查时间戳和另一个时间戳。
但是,它会不断返回非法数字
currentTime=$(($(date +%s) -d ))
cutoffTime=$((currentTime - 604800))
cutoffTime
是第一个要比较的变量
time="$(echo $notes | grep -oP '^[0-9]{0,10}')"
time
是要比较的第二个变量,并从string
解析。
if语句看起来像这样
if [ $(($time)) -lt "$cuttofTime" ];
但即使我尝试
if [ "$time" -lt "$cuttofTime" ];
或
if [ "$time" < "$cuttofTime" ];
仍然会说'非法号码'。我不知道为什么在将$time
转换为第一个if语句中的数字时它会说非法数字。
在shell脚本中执行此操作的正确方法是什么?为什么它说它是非法的数字?