Saya ingin menjaga stempel waktu pada perintah yang masuk ke Bash $ HISTFILE saya, mungkinkah?
Saya tidak berhasil mengaturnya menggunakan man bash
sebagai sumber informasi.
Pilihan saya yang lain adalah sebagai berikut:
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
Saya seharusnya menyebutkan saya di OS X Mountain Lion (menghela nafas). uname -a
memberi saya:
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
dan echo $BASH_VERSION
memberi saya:
3.2.48(1)-release
Sudah mencoba menambahkan ini:
export HISTTIMEFORMAT='%b %d %I:%M:%S %p '
dan itu hanya awalan cap waktu semacam ini untuk perintah:
#1349057791
Saya mencoba mengulang kembali variabel ( echo $HISTTIMEFORMAT
), ia memiliki nilai yang tepat.
Menarik!
Saya bahkan menghapus. Profil sepenuhnya untuk men-debug ini. Masih hanya stempel waktu lucu:
#1349058320
Saya tidak tahu bagaimana cara memecahkan masalah ini lebih lanjut ... :(
Solusi : Saya menggunakan skrip yang membaca $ HISTFILE secara langsung, bukan riwayat bawaan sehingga cap waktu berbasis zaman (detik sejak Waktu Universal Terkoordinasi (UTC) 1 Januari 1970) tidak diterjemahkan menggunakan string pemformatan tanggal . Biasa-biasa history
saja, saya akan menggunakannya.
HISTTIMEFORMAT
?