Szukaj…


Wprowadzenie

W Bash 4.2 wprowadzono wbudowaną konwersję czasową powłoki dla printf : specyfikacja formatu %(datefmt)T powoduje, że printf wyprowadza ciąg data-czas odpowiadający ciągowi formatu datefmt w rozumieniu strftime .

Składnia

  • printf '% (dateFmt) T' # dateFmt może być dowolnym ciągiem formatu rozpoznawanym przez strftime
  • printf '% (dateFmt) T' -1 # -1 reprezentuje aktualny czas (domyślnie bez argumentu)
  • printf '% (dateFmt) T' -2 # -2 reprezentuje czas wywołania powłoki

Uwagi

Użycie printf -v foo '%(...)T' jest identyczne jak foo=$(date +'...') i zapisuje rozwidlenie dla wywołania na date programu zewnętrznego.

Uzyskaj aktualną datę

$ printf '%(%F)T\n'
2016-08-17

Ustaw zmienną na aktualny czas

$ printf -v now '%(%T)T'
$ echo "$now"
12:42:47


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow