verständnisproblem 'date' - PC-BSD

foxkilo

foxkilo
Hi,

für mein Verständnis sollte der folgender Synthax korrekt sein:

DATUM=`date -d '1 month ago' +%Y-%m`

Ziel ist hier die Ausgabe "YYYY-MM" - des Vormonates.

auf den Linuxen kommt auch der richtige Wert, aber auf PC-BSD?, hier erhalte ich immer
"illegal timeformat"

oder laesst das BSD-date die Manipulation in der Form nicht zu, was ich mir nur sehr schwer vorstellen könnte?

danke für einen Denkanstoss

foxkilo
 
Nun, eigentlich ist es ganz einfach. Die BSDs setzen ein date(1) ein, welches natürlich nicht übe die Erweiterungen des GNU-Projektes verfügt. Daher musst du den Zeitunterschied manuell angeben, dies geht per -v. Es muss korrekt also heißen: date -v-1m +%Y-%m Das -1m hinter dem -v sagt ihm, einen Monat zurückzuspringen, die Ausgabe von heute ist dann 2008-06.
 
Zurück
Oben