• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

庆典如果随着时间的推移

bash 来源:Omega 5次浏览

我想测试一个日期……如果它的那些时间2帧之间,我想打印出来…… 但我得到声明errors..This是我的脚本庆典如果随着时间的推移

today_time=$(date +%H:%M:%S --date '-1 sec') 
today_dow=$(date +"%u") 

today_less=$(date +%H:%M:%S --date '-1 min') 
today_more=$(date +%H:%M:%S --date '+1 min') 
echo $today_less 
echo $today_time 
echo $today_more 

if [ $today_less -gt $today_time ] && [ $today_time -lt $today_more ]; then 
     echo "$today_less" 
     echo "$today_time" 
     echo "$today_more" 
else 
     echo no 
fi 

我曾尝试与-ge和-le给我:整数表达式预期 -gt和-lt:整数表达式预期 我也用“<”和“>”,给我:没有这样的文件或目录。

我需要做这项工作随着时间只有日期……不能使用INT

因为时间我会从数据库中提取出来并与数据库的及时更换today_time


===========解决方案如下:

你的输出不是数字,但像字符串:

[[email protected] ~]$ date +%H:%M:%S --date '-1 min' 
13:40:30 

将其转换为Unixtime和比较明确的数字,例如:

today_time=$(date +%H:%M:%S --date '-1 sec') 
today_time_u=$(date +%s --date '-1 sec') 

today_dow=$(date +"%u") 

today_less=$(date +%H:%M:%S --date '-1 min') 
today_less_u=$(date +%s --date '-1 min') 

today_more=$(date +%H:%M:%S --date '+1 min') 
today_more_u=$(date +%s --date '+1 min') 

echo $today_less 
echo $today_time 
echo $today_more 

if [ $today_less_u -gt $today_time_u -a $today_time_u -lt $today_more_u ]; then 
     echo "$today_less" 
     echo "$today_time" 
     echo "$today_more" 
else 
     echo no 
fi 

而且一次,在你的榜样,$today_less是当前日期 – 1分钟; $today_time当前日期 – 1秒;因此,$ today_time> $ today_less 每次和您的if [ $today_less_u -gt $today_time_u部分将是false每次,所以您将无法获得任何内容,但echo noelse声明中。


版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)