Действительно ли возможно позволить дате возвратить свой результат в формате ISO 8601 по умолчанию

Я хочу изменить поведение даты команды (возможно путем установки некоторой переменной надлежащей среды) таким образом, что это возвращает свой вывод, как будто это было вызвано как

date --iso-8601=seconds
  1. Это возможно и как каждый выполняет это?
  2. Если бы Вы применяете разыскиваемый прием, был бы он resrict использование даты команды, или все еще было бы возможно переопределить мое желаемое поведение по умолчанию?
0
задан 18 February 2020 в 20:54

2 ответа

bash "aliases" являются ответом. Вот отрывок от моего ~/.bash_aliases:

#
# Various timestamping commands
# ds 15Aug27
alias ds="date +%y%b%d"
# timestamp "11May14-191416"
alias timestamp="date +%y%b%d-%H%M%S"
# today "20110514"
alias today="date +%Y%m%d"
# tshhmmss "11May14-191540"
alias tshhmmss="date +%y%b%d-%H%M%S"
# tshhmm "11May14-1916"
alias tshhmm="date +%y%b%d-%H%M"
# tsymd "2011-May-14"
alias tsymd="date +%Y-%b-%d"
# tsjou "18-11-01 01:55:28" for journalctl --since
alias tsjou="date '+%y-%m-%d %H:%M:%S'"
# tsiso "2020-02-18T13:31:37-05:00"
alias tsiso="date --iso-8601=seconds"

Тот, который Вы хотите, является последним, tsiso.

Псевдонимы делают date, среди других команд, намного более полезных. Читать man date;info date и можно сделать почти что-либо с date.

0
ответ дан 20 February 2020 в 22:50

Я нашел другой способ решения этой проблемы и аналогичный для ls:

Добавьте следующие строки в конец /etc/bash.bashrc :

# 2020-02-23 hinzugefügt für Datumsformat ISO-8601 bei ls:
export TIME_STYLE=long-iso
alias ls='ls –color=auto'
# 2020-02-23 hinzugefügt für date (denn das reagiert nicht auf TIME_STYLE):
alias date='date -Iseconds'

Чтобы работать с ls , вы должны выйти и снова войти в систему.

Однако, если вам нравится это форматирование, например ко второму, вы больше не можете использовать какой-либо другой параметр форматирования для даты , чтобы переопределить его. Он будет отклонен как дающий более одного варианта форматирования. Вы можете преодолеть это, добавив перед ним обратную косую черту для unalias команды date , например: \ date -Ihours .

Тем не менее, вы должны unalias команду date в любом используемом вами скрипте. Проблемы могут возникнуть, если вы используете скрипты, написанные кем-то, еще не знающим о дате изменения!

Было бы неплохо, если бы дата либо также учитывала TIME_STYLE , либо просто выбирала последний вариант для каждой категории, если указано более одной. Тогда это работало бы без проблем ... Увы, теперь все по-другому!

0
ответ дан 23 February 2020 в 20:06

Другие вопросы по тегам:

Похожие вопросы: