使用GNU日期:
$d=; n=0; until [ "$d" = "$enddate" ]; do ((n++)); d=$(date -d "$startdate + $n days" +%Y%m%d); echo $d; done
20160513
20160514
或者,分布在多行:
startdate=20160512
enddate=20160514
d=
n=0
until [ "$d" = "$enddate" ]
do
((n++))
d=$(date -d "$startdate + $n days" +%Y%m%d)
echo $d
done
这个怎么运作
> d =; n = 0的
初始化变量.
>直到[“$d”=“$enddate”];做
启动一个以enddate结束的循环.
>((n))
增加日计数器.
> d = $(日期-d“$startdate $n天”%Y%m%d)
计算startdate后n天的日期.
> echo $d
显示日期.
>完成
发出循环结束的信号.