Subtraia 7 dias da data de hoje

2

Aqui está o meu script. Eu preciso subtrair 7 dias da data de hoje e usá-lo em um nome de arquivo. Eu estou usando um Mac.

#/bin/bash
DATE=$(date -d "-7 days")
echo $DATE

Quando executo este script .sh, recebo isso:

$ /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]
    
por SkipVV 27.04.2017 / 21:09

1 resposta

3

Com BSD date , você precisa de uma sintaxe diferente:

DATE="$(date -v-7d)"

No meu FreeBSD man date inclui:

 -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.  
    
por 27.04.2017 / 21:27