Temat: bash operacje na dacie

W jaki sposób od dzisiejszej daty odjąć 1 dzień. Normalnie w bashu mamy date --date="1 days ago" ale pod openwrt nie działa a potrzebuję do skryptu aby do zmiennej dać datę wczorajszą ? Próbowałem na cyfrach  w ten sposób
d=`date +"%d"`
m=`date +"%m"`
r=`date +"%Y"`
d2=$(($d-1))

ale przełom miesiąca i będzie źle pokazywało.

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

2

Odp: bash operacje na dacie

Mała sztuczka:

root@OpenWrt:~# date
Mon Sep  5 20:22:36 CEST 2016
root@OpenWrt:~# date -d "@$(($(date +%s) - 86400))"
Sun Sep  4 20:22:41 CEST 2016
Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

3

Odp: bash operacje na dacie

Dzięki za sztuczkę a czy da radę to odejmowanie zapisać z formie date +"%d-%m-%Y" czy bedę się musiał bawić poprzez cut -d

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.

4

Odp: bash operacje na dacie

date -d "@$(($(date +%s) - 86400))" +"%d-%m-%Y"

Masz niepotrzebny router, uszkodzony czy nie - chętnie przygarnę go.

5

Odp: bash operacje na dacie

Dzięki Cezary za pomoc smile

Stacja Pogody pracująca na LEDE / Openwrt + arduino. http://dominikowice.one.pl  Pomiar temperatury, ciśnienia, wilgotności  online + wykresy 24 godzinne, 7 dniowe, 30 dniowe, itp. A wszystko to na Routerze NETGEAR WNDR 4300 z wgranym LEDE.