HISTTIMEFORMAT не показывает правильную дату и время для истории

14

После экспорта HISTTIMEFORMAT='%F %T'я попытался запроситьhistory

Но результат показывает, что все команды выполняются в один и тот же день.

Как я могу проверить фактическую дату и время фактического выполнения команды?

Özzesh
источник
Это все равно, что спросить, почему у вас нет эпизода прошлой недели теории Большого взрыва на видеомагнитофоне, который вы купили сегодня утром ...
tink
3
@ tink Я не согласен, это так очевидно ...
Бернхард

Ответы:

18

Если вы установите HISTTIMEFORMATin bash, ваши новые записи будут сохранены в файле истории с меткой времени, более старые команды, у которых нет метки времени (те, что раньше никогда не устанавливались, HISTTIMEFORMATбудут отображать одну и ту же метку даты-времени (я полагаю, что из первой найденной записи с реальной отметкой времени).

Эта проблема должна решиться сама собой после того, как ваша полная история будет обновлена ​​через несколько дней.

Вы можете заглянуть, ~/.bash_historyчтобы увидеть, какая первая строка имеет метку даты и времени. Это строки, начинающиеся с #(в настоящее время) 10-значного числа.

Энтон
источник
1

Я думаю, что это особенность. Как только вы изменили этот параметр, вы можете видеть, ~/.bash_historyчто в старой команде не хранится отметка времени. Таким образом, для этих команд будет просто принимать текущее время.

Попробуйте ввести exportкоманду ~/.bashrcи выполнить несколько команд. Вы увидите, что в ~/.bash_historyдополнительной отметке времени будет сохранено, которое затем может быть отображено history. Так что для новых команд это должно работать как положено.

Таким образом: Несовместимость с командами, которые выполнялись в другом окне терминала в прошлом.

Бернхард
источник