在平常执行shell脚本中,有时候需要执行一段日期的shell脚本,记录一下写法。
#!/bin/sh
if [ $# == 2 ]; then
datebeg=$1
dateend=$2
else
echo "请输入开始时间和结束日期,格式为2017-04-04"
exit 1
fi
beg_s=`date -d "$datebeg" +%s`
end_s=`date -d "$dateend" +%s`
echo "处理时间范围:$beg_s 至 $end_s"
while [ "$beg_s" -le "$end_s" ];do
day=`date -d @$beg_s +"%Y-%m-%d"`;
sh ods_bi_active_list.sh $day
beg_s=$((beg_s+86400));
done
echo "日期全部处理完成"
这篇博客介绍了如何在Shell脚本中处理日期范围,通过接收两个参数作为开始和结束日期,将日期转换为Unix时间戳,并用while循环执行指定脚本,每天一次,直到达到结束日期。脚本中包含了错误检查和日期格式的要求。
33万+

被折叠的 条评论
为什么被折叠?



