date 명령은 주어진 변수를 기반으로 한 달 전을 계산합니다.

date 명령은 주어진 변수를 기반으로 한 달 전을 계산합니다.

매개변수 없이 현재 월과 연도를 생성할 수 있습니다(012021) 및 지난달(122020) "-d '지난 달'" 옵션을 사용합니다. "와 같은 것을 입력하면2019년 1월 1일"$currentmonth(를 처리할 수 있습니다.012019) 그러나 $pastmonth 변수는 아닙니다. 이 문제를 해결할 방법이 있나요?

#!/bin/bash
if [ -z "$1" ] ;then
currentmonth=`date "+%m%Y"`
pastmonth=`date "+%m%Y" -d 'last month'`
echo $currentmonth
echo $pastmonth
else
currentmonth=`date +%m%Y --date="$1"`
pastmonth=?
echo $currentmonth
echo $pastmonth
fi

답변1

날짜에 "지난 달"을 "추가"하면 됩니다.

date +%m%Y -d "01/01/2019+last month"

조심하다date분석, 슬래시가 있는 날짜에 미국 형식을 사용합니다.

관련 정보