Erfahren Sie, wie Sie Datum und Uhrzeit formatieren, um sie in einem Shell-Skript oder als Variable zusammen mit verschiedenen Formatbeispielen zu verwenden.
Es gibt viele Male, in denen Sie Datum in Ihrem Shell-Skript verwenden müssen, z. um die Protokolldatei zu benennen, sie als Variable zu übergeben usw. Wir benötigen also ein anderes Datumsformat, das als Zeichenfolge oder Variable in unseren Skripten verwendet werden kann. In diesem Artikel sehen wir uns an, wie man das Datum in Shell-Skripten verwendet und welche verschiedenen Arten von Formaten Sie verwenden können.
- Überprüfen Sie den Befehl timedatectl, um Datum und Uhrzeit in Linux einfach zu verwalten
Wie verwende ich das Datum im Shell-Skript?
Sie können das Datum verwenden, indem Sie die Shell-Ausführung in den Befehl einfügen. Wenn Sie beispielsweise eine Protokolldatei erstellen möchten, indem Sie das aktuelle Datum darin einfügen, können Sie dies folgendermaßen tun –
root@kerneltalks # echo test > /tmp/`date +%d`.txt root@kerneltalks # ls -lrt -rw-r--r--. 1 root root 5 Sep 10 09:10 10.txt
Grundsätzlich müssen Sie die Formatkennung mit +%
übergeben to date Befehl, um das gewünschte Format der Ausgabe zu erhalten. Es gibt eine andere Identifikator-Datumsbefehlsversorgung.
Sie können sogar ein bestimmtes Datumsformat in einer Variablen wie –
speichernroot@kerneltalks # MYDATE=`date +%d.%b.%Y` root@kerneltalks # echo $MYDATE 10.Sep.2018
Unterschiedliche Formatvariablen für Datumsbefehl
Diese Formatbezeichner stammen vom Datumsbefehl man
Seite :
%a locale’s abbreviated weekday name (e.g., Sun) %A locale’s full weekday name (e.g., Sunday) %b locale’s abbreviated month name (e.g., Jan) %B locale’s full month name (e.g., January) %c locale’s date and time (e.g., Thu Mar 3 23:05:25 2005) %C century; like %Y, except omit last two digits (e.g., 20) %d day of month (e.g, 01) %D date; same as %m/%d/%y %e day of month, space padded; same as %_d %F full date; same as %Y-%m-%d %g last two digits of year of ISO week number (see %G) %G year of ISO week number (see %V); normally useful only with %V %h same as %b %H hour (00..23) %I hour (01..12) %j day of year (001..366) %k hour ( 0..23) %l hour ( 1..12) %m month (01..12) %M minute (00..59) %N nanoseconds (000000000..999999999) %p locale’s equivalent of either AM or PM; blank if not known %P like %p, but lower case %r locale’s 12-hour clock time (e.g., 11:11:04 PM) %R 24-hour hour and minute; same as %H:%M %s seconds since 1970-01-01 00:00:00 UTC %S second (00..60) %T time; same as %H:%M:%S %u day of week (1..7); 1 is Monday %U week number of year, with Sunday as first day of week (00..53) %V ISO week number, with Monday as first day of week (01..53) %w day of week (0..6); 0 is Sunday %W week number of year, with Monday as first day of week (00..53) %x locale’s date representation (e.g., 12/31/99) %X locale’s time representation (e.g., 23:13:48) %y last two digits of year (00..99) %Y year %z +hhmm numeric timezone (e.g., -0400) %:z +hh:mm numeric timezone (e.g., -04:00) %::z +hh:mm:ss numeric time zone (e.g., -04:00:00) %Z alphabetic time zone abbreviation (e.g., EDT)
Wenn Sie Kombinationen der oben genannten verwenden, können Sie Ihr gewünschtes Datumsformat als Ausgabe zur Verwendung im Shell-Skript erhalten! Sie können sogar %n
verwenden für Zeilenumbrüche und %t
zum Hinzufügen eines Tabulators in Ausgaben, die meistens nicht benötigt werden, da Sie sie als einzelne Zeichenfolge verwenden werden.
Verschiedene Beispiele für Datumsformate
Zu Ihrer Bequemlichkeit und sofort einsatzbereit habe ich unten Kombinationen für verschiedene Datumsformate aufgelistet.
root@kerneltalks # date +%d_%b_%Y 10_Sep_2018 root@kerneltalks # date +%D 09/10/18 root@kerneltalks # date +%F-%T 2018-09-10-11:09:51 root@kerneltalks # echo today is `date +%A` today is Monday root@kerneltalks # echo Its `date +%d` of `date +%B" "%Y` and time is `date +%r` Its 10 of September 2018 and time is 11:13:42 AM