Você poderia usar isso para obter o dia anterior e passá-lo como um argumento:
date +%Y-%m-%d -d "1 day ago"
para mais referências man
página de date
para manipular minutos e segundos.
Eu preciso executar o script passando a data anterior como argumento da linha de comando. Deve ser automatizado. Então, como posso passar a data anterior para o script?
Por exemplo:
sh processFile.sh previousdate previousdate
Você poderia usar isso para obter o dia anterior e passá-lo como um argumento:
date +%Y-%m-%d -d "1 day ago"
para mais referências man
página de date
para manipular minutos e segundos.
isso funcionará:
sh processFile.sh "$(date +"%Y-%m-%d" -d "yesterday")" "$(date +"%Y-%m-%d" -d "yesterday")"
Desculpe, recebi a resposta. Postando que isso ajudaria alguém. Pode ser executado assim:
sh getDate.sh "$(date --date="-1 day" +%Y-%m-%d)" "$(date --date="-1 day" +%Y-%m-%d)"
Com o GNU date
:
previousdate=$( date -d 'yesterday' +'%F' )
sh processFile.sh "$previousdate" "$previousdate"
com macOS date
:
previousdate=$( date -j -v -1d +'%F' )
sh processFile.sh "$previousdate" "$previousdate"
Tags command-line date shell-script