
Hier ist mein Skript. Ich muss 7 Tage vom heutigen Datum abziehen und in einem Dateinamen verwenden. Ich verwende einen Mac.
#/bin/bash
DATE=$(date -d "-7 days")
echo $DATE
Wenn ich dieses .sh-Skript ausführe, erhalte ich Folgendes:
$ /Users/xxxxxxx/xxxxxxxx/dateTest.sh
usage: date [-jnRu] [-d dst] [-r seconds] [-t west] [-v[+|-]val[ymwdHMS]] ...
[-f fmt date | [[[mm]dd]HH]MM[[cc]yy][.ss]] [+format]
Antwort1
Dafür BSD date
benötigen Sie eine andere Syntax:
DATE="$(date -v-7d)"
Auf meinem FreeBSD man date
ist enthalten:
-v Adjust (i.e., take the current date and display the result of the
adjustment; not actually set the date) the second, minute, hour,
month day, week day, month or year according to val. If val is
preceded with a plus or minus sign, the date is adjusted forwards
or backwards according to the remaining string, otherwise the
relevant part of the date is set.