Es gibt etliche Anwendungen, in denen man eine Datei oder ein Verzeichnis mit dem aktuellen Datum erstellen muss. Meistens wird das Datum vermutlich nicht in der Reihenfolgenausgegeben, wie man es gerade braucht.
Für die chronologische Sortierung sollte ein Datum am Besten in der Reihenfolge Jahr-Monat-Tag(-Stunden-Minuten-Sekunden) dargestellt werden.
Gebe ich in der Konsole „date“ ein bekomme ich die komplette Ausgabe des Datums inkl. Zeit und Zeitzone
1 2 |
date So 19. Apr 15:12:06 CEST 2015 |
Die Ausgabe des Datums kann mit der Angabe eines Formats beeinflusst werden: date +Formatangabe.
Das Jahr kann mit ‚%y‘ 2-stellig, mit ‚%Y‘ 4-stellig ausgegeben werden. Monat und Tag werden mit ‚%m‘ und ‚%d‘ jeweils 2-stellig ausgeben.
Ein Beispiel:
1 2 |
date +"%y%m%d" 150419 |
Die Liste der Variablen ist sehr lang. Ein Blick in den man-Page gibt hier viele viele Parameter vor. So kann z.B: anstatt ‚%m‘ auch ‚%b‘ (Monat kurz) oder ‚%B‘ (Monat lang) ausgegeben werden
1 2 3 4 5 6 |
date +"%y%m%d" 150419 date +"%y%b%d" 15Apr19 date +"%y%B%d" 15April19 |
Ebenso kann die Zeit ausgegeben werden. ‚%T‘ z.B: ist gleich der Ausgabe ‚%H:%M:%S‘.
1 2 3 4 5 6 |
date +"%T" 15:26:24 date +"%H:%M:%S" 15:26:29 date +"%H%M%S" 152629 |
In einem Backupskript könnte die Anweisung für einen String so aussehen (Inhalt der Datei datum-test.sh)
1 2 3 |
#! /bin/sh datum=`date +"%y%m%d-%H%M%S"` echo $datum |
1 2 |
~# ./datum-test.sh 150419-153614 |
Natürlich würde man nicht den „echo“-Befehl verwenden, sondern eher ein mkdir.