Как уже отмечалось в комментариях, формат файла истории зависит от оболочки, а иногда и от конкретных настроек оболочки.
В вашем случае вы используете zsh
с включенной опцией EXTENDED_HISTORY
(либо путем ее явной установки, либо с помощью csh
). Согласно ZSH manual формату записи истории с EXTENDED_HISTORY
выглядит следующим образом:
: <beginning time>:<elapsed seconds>;<command>
Так пространство перед временной меткой является лишь частью формата и число между вторым двоеточием точка с запятой на самом деле время, затраченным команда, а не код выхода.
Примечание: <elapsed seconds>
всегда будут 0
, если опция INC_APPEND_HISTORY
установлена, потому что тогда запись истории пишутся в файл сразу после ввода команды. Если вы хотите зарегистрировать продолжительность и продолжить обмен историей между сеансами оболочки, вместо этого вы можете использовать INC_APPEND_HISTORY_TIME
. Это записывается в файл истории только после завершения команды.
Обратите внимание: bash имеет другой формат. Он имеет только команды, которые вы запускаете. – alnet
Я считаю, что официальной спецификации нет. Это недокументировано, но это довольно легко понять. – 4ae1e1
@alnet Вы можете установить 'HISTTIMEFORMAT' в' bash', чтобы пометить каждую запись меткой времени. – chepner