Я хотів би тримати часові позначки на командах, записаних у моєму 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
), вона має правильне значення.
Цікаво!
Я навіть видалив .profile повністю, щоб налагодити це. Ще лише смішні часові позначки:
#1349058320
Я не знаю, як далі вирішити цю проблему ... :(
Рішення : Я використовував сценарій, який читає $ HISTFILE безпосередньо, а не вбудовану історію, тому часова мітка на основі епохи (сек. З часу узгодженого універсального часу (UTC) 1 січня 1970 р.) Не перекладалася за допомогою рядка форматування дати . Звичайна старенька history
працює чудово, я використаю її замість цього.
HISTTIMEFORMAT
?