История Bash с метками времени

Я хотел бы сохранить временные метки для команд, зарегистрированных в моем Bash $ HISTFILE, возможно ли это?

Мне не удалось настроить его, используя man bash в качестве источника информации.

Мои другие варианты:

 function thebanana() { local -r -a bash_commands=( "ls" # ... more coconut commands ) for bash_command in "${bash_commands[@]}"; do printf "${bash_command}" printf ":" done } export HISTFILE=banana export HISTIGNORE="$(thebanana)" export HISTSIZE=999999 export HISTFILESIZE=999999999 export HISTCONTROL=ignoredups:erasedups 

Я должен был упомянуть, что я на OS X Mountain Lion (вздох). uname -a дает мне:

 Darwin CoconutMac.local 12.2.0 Darwin Kernel Version 12.2.0: Sat Aug 25 00:48:52 PDT 2012; root:xnu-2050.18.24~1/RELEASE_X86_64 x86_64 

и echo $BASH_VERSION дает мне:

 3.2.48(1)-release 

Попытался добавить это:

 export HISTTIMEFORMAT='%b %d %I:%M:%S %p ' 

и он только префикрует этот тип временных меток:

 #1349057791 

Я пытаюсь echo $HISTTIMEFORMAT обратно переменную ( echo $HISTTIMEFORMAT ), она имеет правильное значение.

Интересно!

Я даже удалил .profile полностью, чтобы отладить это. Еще только смешные временные метки:

 #1349058320 

Я не знаю, как продолжить устранение этого … 🙁

Решение : я использовал скрипт, который напрямую читает файл $ HISTFILE, а не историю, поэтому временная метка, основанная на эпохе (secs since Coordinated Universal Time (UTC) от 1 января 1970 года) не переводилась с использованием строки форматирования даты , Обычная history прекрасно работает, я буду использовать ее вместо этого.

  • Не удается обмениваться папками между Mac OS X на базе VMWare 7.1.1 и гостевой системой Fedora 21
  • Удаление шаблонов из строки с помощью bash
  • find и md5sum не дают никакого выхода (find -o limit?)
  • Readline .inputrc сбрасывает значения по умолчанию с каждой строкой
  • Как изменить привязки ключевых слов пейджера
  • "Или" в оболочке glob
  • Кросс-компиляция статического библиотеки ARM с GCC для Mac iOS xCode
  • Я случайно удалил файл sudoers в Mac OS X; есть ли способ его восстановить?
  • One Solution collect form web for “История Bash с метками времени”

    Да, поставьте это в ~/.bashrc :

     export HISTTIMEFORMAT='%F %T ' 

    Затем запустите следующие команды:

     . ~/.bashrc history 

    Это будет выглядеть так:

      (...) 5200 2012-09-30 23:55:37 find -printf '%Ts %f\n' 5201 2012-10-01 00:00:58 ls 5202 2012-10-01 00:03:45 cd (...) 

    Объяснения выхода:

    • first col – уникальный id
    • вторая – дата, в-третьих – час
    • последним является ваша командная строка
    Linux и Unix - лучшая ОС в мире.