シェルスクリプトの作成しておりますが、エラーでずっと止まっています。
アドバイスいただけますでしょうか。
vi shell
!/bin/sh
TODAY=date +%Y/%m/%d
PAST_UPDATE=date -d 2020/06/30 +%Y/%m/%d
DUE_DAY=date -d ${PAST_UPDATE} '1 year 6 month' +%Y/%m/%d
BASICDATE=date -d ${DUE_DAY} -d '6 month ago' +%Y/%m/%d
LEFT_DAYS1=exprdate ${DUE_DAY} +%s
- date ${TODAY} +%s
LEFT_DAYS2=expr date ${LEFT_DAYS1} +%s
/ 86400
if [ date -d ${TODAY} +%s
-ge date -d ${BASICDATE} +%s
]
then
echo "更新を行ってください。
期限まで${LEFT_DAYS2}
日です。"
fi
sh -x ./shell
++ date +%Y/%m/%d
- TODAY=2020/12/14
++ date -d 2020/06/30 +%Y/%m/%d
- PAST_UPDATE=2020/06/30
++ date -d 2020/06/30 '1 year 6 month' +%Y/%m/%d
date: extra operand ‘+%Y/%m/%d’
Try 'date --help' for more information.
- DUE_DAY=
++ date -d -d '6 month ago' +%Y/%m/%d
date: extra operand ‘+%Y/%m/%d’
Try 'date --help' for more information.
- BASICDATE=
++ date 2020/12/14 +%s
date: extra operand ‘+%s’
Try 'date --help' for more information.
++ date +%s
- LEFT_DAYS1=expr1607907120
-
./shell: line 11: -: command not found
++ date +%s
- LEFT_DAYS2=expr
- 1607907120 / 86400
./shell: line 13: 1607907120: command not found
++ date -d 2020/12/14 +%s
++ date -d +%s
date: invalid date ‘+%s’
- '[' 1607871600 -ge ']'
./shell: line 16: [: 1607871600: unary operator expected
./shell
date: extra operand ‘+%Y/%m/%d’
Try 'date --help' for more information.
date: extra operand ‘+%Y/%m/%d’
Try 'date --help' for more information.
date: extra operand ‘+%s’
Try 'date --help' for more information.
./shell: line 11: -: command not found
./shell: line 13: 1607907166: command not found
date: invalid date ‘+%s’
./shell: line 16: [: 1607871600: unary operator expected
こちらどのように修正した方がよろしいでしょうか。
よろしくお願いします。