Справочную страницу для входа в систему (1)
на показах linux как минимум два почтовых адреса для авторов и другие важные детали. При условии, что логин
является частью ядра, вам следует попробовать некоторые из списков рассылки ядра util-linux .
Вы можете использоватьperl
:
echo $(( $(printf "%(%s)T") - 5 * 60 )) | perl -lne 'print scalar localtime $_'
Или в чистом перле:
perl -le 'print scalar localtime(time()-5*60)'
Для форматирования используйтеstrftime()
:
perl -MPOSIX=strftime -le 'print strftime("%d %h %Y %H:%M:%S", localtime(time()-5*60))'
bash
на самом деле скопировал формат %(...)T
из ksh93, но только в небольшом подмножестве.
Это намного мощнее в ksh93.
$ date; printf '%(%c)T\n' 'exactly five minutes ago'
Mon 3 Sep 08:08:32 BST 2018
Mon Sep 3 08:03:32 2018
bash
поддерживает только время эпохи Unix (или -1
для сейчас , хотя в последних версиях вы также можете получить сейчас с отсутствующим аргументом ), в то время как ksh93 поддерживает сложные относительное (включая английский язык, как указано выше, crontab, at
, ISO 8601 :2004 продолжительность )или спецификации абсолютного времени (см. тестовые данные в источнике для некоторых примеров ).
В ksh93
, если вы хотите передать время эпохи, вы используете префикс #
:
$ printf '%(%c)T\n' '#0'
Thu Jan 1 00:00:00 1970
(хотя здесь, у меня бывает указано неправильное время в британском часовом поясе, где эпоха 0 приходится на 1:00)