OS X(Snow Leopard)の日付機能にはGNUバージョンのような--dateオプションがありません。 OS X上で、次の同等:SiegeXからの回答で解決Mac OS Xシェルスクリプトの開始日から終了日までのループ
startdate=2010-01-01
enddate=2010-01-31
foldate="$startdate"
until [ "$foldate" == "$enddate" ]
do
# do something with the date here - like pass it as a parameter to a command
foldate=`/bin/date --date "$foldate 1 day" +%Y-%m-%d`
done
:
startdate=2010-01-01
enddate=2010-01-31
sDateTs=`date -j -f "%Y-%m-%d" $startdate "+%s"`
eDateTs=`date -j -f "%Y-%m-%d" $enddate "+%s"`
dateTs=$sDateTs
offset=86400
while [ "$dateTs" -le "$eDateTs" ]
do
date=`date -j -f "%s" $dateTs "+%Y-%m-%d"`
printf '%s\n' $date
dateTs=$(($dateTs+$offset))
done
あなたのために働くことを嬉しいです。私は 'bash'のOSXのバージョンが何であるか分かりませんが(もしbashがあれば)、' sdateTs = $(date -j -f)のようなバッククォートではなく '$()'でコマンドをラップするべきです...) 'と' '[' 'の代わりに二重かっこ' '[' 'を使って' '[[" $ dateTS "<" $ eDateTs "]]' – SiegeX