输入一个日期,打印到当日的每天的日期,并统计总共过了多少天 用shell编写
时间: 2024-09-06 16:02:03 浏览: 76
Shell脚本遍历一个日期范围实例
5星 · 资源好评率100%
要在Shell脚本中实现这个功能,你可以使用`date`命令以及一些简单的循环结构。下面是一个示例,它会输入一个起始日期,然后逐日打印直到当前日期,并计算总天数:
```bash
#!/bin/bash
# 获取用户输入的起始日期(格式:YYYY-MM-DD)
read -p "请输入起始日期 (格式:YYYY-MM-DD): " start_date
# 将输入转换为合适的日期格式
start_date=$(date -d "$start_date" +%s)
# 获取当前时间作为结束日期
end_date=$(date +%s)
# 计算总天数差
total_days=$(( $(date -d "$end_date" +%s) - $start_date ))
# 打印每一天的日期并累计天数
day_count=0
while [ $((day_count * 86400 + start_date)) -lt $end_date ]; do
day_count=$((day_count + 1))
echo "$(date -d @$((day_count * 86400 + start_date)))"
done
echo "从${start_date}开始到现在共过去了${total_days}天."
# 相关问题--
阅读全文