Vorrei mantenere i timestamp sui comandi registrati nel mio Bash $ HISTFILE, è possibile?
Non sono riuscito a configurarlo utilizzando man bash
come fonte di informazioni.
Le mie altre opzioni sono le seguenti:
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
Avrei dovuto menzionare che sono su OS X Mountain Lion (sospiro). uname -a
mi da:
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
e echo $BASH_VERSION
mi dà:
3.2.48(1)-release
Ho provato ad aggiungere questo:
export HISTTIMEFORMAT='%b %d %I:%M:%S %p '
e antepone solo questo tipo di timestamp ai comandi:
#1349057791
Provo a riecheggiare la variabile ( echo $HISTTIMEFORMAT
), ha il giusto valore.
Interessante!
Ho persino rimosso completamente .profile per eseguire il debug di questo. Ancora solo timestamp divertenti:
#1349058320
Non so come risolvere ulteriormente questo ... :(
Soluzione : stavo usando uno script che legge direttamente $ HISTFILE, non la cronologia incorporata, quindi il timestamp basato sull'epoca (secondi dall'orario coordinato universale (UTC) del 1 gennaio 1970) non veniva tradotto usando la stringa di formattazione della data . Il vecchio history
funziona perfettamente, lo userò invece.
HISTTIMEFORMAT
?