簡體   English   中英

在 mac 上使用 bash 腳本遍歷 2 個日期

[英]Iterate through 2 dates using bash script on mac

我正在嘗試創建一個循環來遍歷 2 個日期。 到目前為止我有這個,但是它會及時返回。 我希望它以 start_date 開始並以 end_date 結束。 我試圖交換它們,但它不喜歡那樣並無限地增加 +1day。 任何幫助,將不勝感激。

#!/usr/bin/env bash
end_date="21-12-21"
start_date="21-11-20"
# Set a counter variable
counter=0

#Increase the counter to get back in time
while [ "$end_date" != "$start_date" ]; do
  end_date=$(date -v -${counter}d '+%y-%m-%d')
  echo $end_date
  counter=$((counter + 1))
done

這就是它產生的

21-12-23
21-12-22
21-12-21
21-12-20
21-12-19
21-12-18
21-12-17
21-12-16
21-12-15
21-12-14
21-12-13
21-12-12
21-12-11
21-12-10
21-12-09
21-12-08
21-12-07
21-12-06
21-12-05
21-12-04
21-12-03
21-12-02
21-12-01
21-11-30
21-11-29
21-11-28
21-11-27
21-11-26
21-11-25
21-11-24
21-11-23
21-11-22
21-11-21
21-11-20

我也在 Mac 上運行它,它似乎對日期格式非常挑剔。 到目前為止,這是我發現它唯一有效的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM