#!/bin/bash # 時刻を引数で指定されなかった場合に、現在時刻から前日の日付と今日の日付を取得する # # 日付を取得するのであれば `date` コマンドを使うのがよいのだけれど、 # オプションに差があるので使い慣れた Ruby に逃げた。 # # | 系統 | コマンド | # |------|-------------------------------| # | GNU | `date -d '1 day ago' +%Y%m%d` | # | BSD | `date -v-1d +%Y%m%d` | if [ "$1" = "" ]; then START_TIME=$(ruby -e 'puts (Time.now - 24 * 60 * 60).strftime("%Y/%m/%d 06:00")') END_TIME=$(ruby -e 'puts Time.now.strftime("%Y/%m/%d 06:00")') else START_TIME=$1 END_TIME=$2 fi echo start $START_TIME echo end $END_TIME