我必须每天从给定的开始日期到结束日期运行脚本。我在互联网上找到了这段代码。
#!/bin/bash
beg_s=`date -d "$1" +%s` # arguments format like 20150101
end_s=`date -d "$2" +%s`
while [ "$beg_s" -le "$end_s" ];do
day=`date -d @$beg_s +"%Y%m%d"`;
# run my script
beg_s=$((beg_s+86400));
done
我知道它从日期解析秒数并递增86400,即每个循环一天的总秒数。由于存在leap second,我的问题是在什么条件下这段代码会给出错误的输出。到目前为止似乎很好。