Jak zdobyć bieżącą datę i godzinę w skrypcie Bash
- 1133
- 195
- Juliusz Janicki
Jako język scenariusza Bash jest szeroko stosowany do zadań administrowania systemem i automatyzacji. Jednym z powszechnych zadań w skryptowaniu BASH jest uzyskanie bieżącej daty i godziny. 'data' Polecenie zwraca bieżącą datę i godzinę w określonym formacie, ale możesz również użyć niestandardowego ciągu formatu, aby uzyskać datę i godzinę w dowolnym formacie
W tym artykule zbadamy, jak uzyskać bieżącą datę i godzinę w skrypcie Bash.
Uzyskanie bieżącej daty i godziny
W Bash możesz użyć polecenia daty, aby uzyskać bieżącą datę i godzinę. Domyślnie polecenie daty zwróci bieżącą datę i godzinę w formacie „Day_of_Week Miesiąc Dzień Godzina: Minuta: Drugi stref czasowy”
Na przykład:
data
Sun 28 lutego 23:26:13 UTC 2023
Możesz także przechowywać wyjście polecenia w zmiennej do dalszego użycia.
#!/bin/bash current_date_time = $ (data) echo "bieżącą datę i godzinę: $ current_date_time" # Wyjście: bieżąca data i godzina: Sun 28 lutego 23:26:13 UTC 202312345 | #!/bin/bashcurrent_date_time = $ (data) echo "bieżąca data i godzina: $ current_date_time" # Data: bieżąca data i godzina: Sun 28 lutego 23:26:13 UTC 2023 |
Wyjście formatu niestandardowego
Istnieje kilka przełączników, możesz użyć do sformatowania wyjścia polecenia daty.
- Uzyskaj datę „MM/DD/YY HH: MM: SS” format:
Data +„ %d %t”
03/25/17 14:40:32 - Zdobądź obecny UNIX epoka czas:
Data +%s
1554542637 - Uzyskaj datę „YYYY-MM-DD HH: MM: SS” format:
Data +„%y-%m-%d%t”
2019-03-25 14:40:32 - Oto bardziej powszechne formaty daty:
Parametr Wyjście Data +”%m/%d/%y” 03/25/2019 Data +„%D-%B-%Y” 25-mar-2019 Data +„ %y %b %m” 2019 25 marca Data +„%h:%m” 14:40 Data +„%I:%m%p” 14:40 Data +„%h:%m:%s” 14:40:32 Data +”%I:%m:%s%p” 02:40:32 Data +”%m/%d/%y%h:%m” 03/25/2019 14:40 Data +„ %A, %m %d %y %h: %m” Poniedziałek, 03 25 2019 14:40 Data +„ %A, %B %D, %y %I: %m %P” Poniedziałek, 25 marca 2019 14:40 Data +” %A, %B %D, %y %H: %M: %S” Poniedziałek, 25 marca 2019 14:40:32
Użyj daty w skrypcie Shell:
Możesz po prostu użyć polecenia daty wewnątrz skryptu powłoki podobnej do użycia w wierszu polecenia. Utwórz skrypt bash getDateTime.SH z następującą treścią.
#!/bin/bash currentDate = "data +"%y-%m-%d%t "" currentDateOnly = "data +"%b%d,%y "" curperepoctime = "data +"%y-%m-%m-%m-%m-% d%t "" echo bieżąca data to: $ currentDateOnly echo bieżąca data i godzina to: 'data +"%y-%m-%d%t"' echo bieżąca data i godzina to: $ currentDate echo prąd bieżący UNIX EPOCH Time to: $ CurressEpoctime12345678910 | #!/bin/bash currentDate = 'data +"%y-%m-%d%t"' currentDateOnly = 'data +"%b%d,%y"' currentEpoctime = 'data +"%y-%m-%m-% d%t "'echo bieżąca data to: $ currentDateOnly echo bieżąca data i godzina to:' data +"%y-%m-%d%t "'echo bieżąca data i godzina to: $ currentDate echo bieżący UNIX EPOCH Time to: $ CurressEpoctime |
Teraz wykonaj skrypt z wiersza poleceń i obserwuj wyjście.
./GetDateTime.cii
Obecna data to: 25 marca 2019 Obecna data i godzina to: 2019-03-25 17:18:19 Obecna data i godzina IS: 2019-03-05 17:18:19 Obecny czas epoch IS: 1488541699
Dostępne opcje z poleceniem daty:
Możesz znaleźć wszystkie dostępne opcje polecenia daty za pomocą parametru -Help
Data -Help
Znajdziesz dane wyjściowe jak poniżej z dodatkowymi opcjami.
%%
: dosłownie %%A
: W skróconej nazwie Locale w dni powszednie (e.G., Słońce)%A
: Pełna nazwa Locale's (e.G., Niedziela)%B
: Nazwa miesiąca w skrócie (e.G., Styczeń)%B
: Pełna nazwa Miesiąca lokalizacji (e.G., Styczeń)%C
: Data i godzina lokalizacji (e.G., Czw 3 23:05:25 2005)%C
: wiek; jak %y, z wyjątkiem pominięcia dwóch ostatnich cyfr (e.G., 21)%D
: dzień miesiąca (e.G, 01)%D
: data; To samo co%m/%d/%y%mi
: dzień miesiąca, wyściełana przestrzeń; Tak samo jak %_D%F
: pełna data; to samo co%y-%m-%d%G
: Ostatnie dwie cyfry roku numeru ISO (patrz %g)%G
: Rok numer tygodnia ISO (patrz %V); zwykle przydatne tylko z %v%H
: to samo co %b%H
: godzina (00… 23)%I
: godzina (01… 12)%J
: Dzień roku (001… 366)%k
: godzina (0… 23)%l
: godzina (1… 12)%M
: miesiąc (01… 12)%M
: minuta (00… 59)%N
: Nowa linia%N
: Nanosekund (000000000… 999999999)%P
: Equivalent Locale dla AM lub PM; puste, jeśli nie są znane%P
: jak %p, ale niższa obudowa%R
: 12-godzinny czas lokalizacji (e.G., 11:11:04 PM)%R
: 24-godzinna godzina i minuta; To samo co %h: %m%S
: sekundy od 1970-01-01 00:00:00 UTC%S
: Drugi (00… 60)%T
: karta%T
: czas; Taki sam jak%h:%m:%s%u
: Dzień tygodnia (1… 7); 1 to poniedziałek%U
: Liczba tygodnia roku, z niedzielę jako pierwszy dzień tygodnia (00… 53)%V
: Numer tygodnia ISO, z poniedziałkiem jako pierwszy dzień tygodnia (01… 53)%w
: Dzień tygodnia (0… 6); 0 to niedziela%W
: Liczba tygodnia roku, z poniedziałkiem jako pierwszy dzień tygodnia (00… 53)%X
: reprezentacja daty lokalizacji (e.G., 12/31/99)%X
: reprezentacja czasu lokalizacji (e.G., 23:13:48)%y
: Ostatnie dwie cyfry roku (00… 99)%Y
: rok%z
: +hhmm liczbowa strefa czasowa (e.G., -0400)%: z
: +HH: mm numeryczna strefa czasowa (e.G., -04:00)%:: z
: +HH: MM: SS Numeryczna strefa czasowa (e.G., -04:00:00)%:: z
: numeryczna strefa czasowa z: do niezbędnej precyzji (e.G., -04, +05: 30)%Z
: Alfabetyczna strefa czasowa (e.G., EDT)
Wniosek
Uzyskanie bieżącej daty i godziny w skrypcie BASH jest powszechnym zadaniem, które można wykonać za pomocą polecenia daty. Domyślnie polecenie daty zwraca bieżącą datę i godzinę w określonym formacie, ale możesz również użyć niestandardowego ciągu formatu, aby uzyskać datę i godzinę w dowolnym podobnym formacie. Rozumiejąc, jak korzystać z polecenia daty w skrypcie BASH, możesz zbudować potężne skrypty automatyki, które korzystają z bieżącej daty i godziny.
- « Nginx przekieruj HTTP do HTTPS
- Wszystko, co musisz wiedzieć o migracji witryny WordPress do HTTPS »