Zaman damgalarıyla bas geçmişi


15

Benim Bash $ HISTFILE oturum komutları üzerinde zaman damgaları tutmak istiyorum, mümkün mü?

man bashBir bilgi kaynağı olarak kurmayı başaramadım .

Diğer seçeneklerim aşağıdaki gibidir:

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 (iç çekiş) üzerinde olduğumu söylemeliydim. uname -abana verir:

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

ve echo $BASH_VERSIONbana:

3.2.48(1)-release

Bunu eklemeyi denedim:

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

yalnızca komutlara bu tür zaman damgalarının ön ekini verir:

#1349057791

Değişken ( echo $HISTTIMEFORMAT) geri echoing deneyin , doğru değeri vardır.

İlginç!

Hatta bu hata ayıklamak için .profile tamamen kaldırıldı. Hala sadece komik zaman damgaları:

#1349058320

Bunun nasıl giderileceğini bilmiyorum ... :(

Çözüm : Çocuğa dayalı zaman damgası (1 Ocak 1970 Koordineli Evrensel Saat'ten (UTC) bu yana saniye) tarih biçimlendirme dizesi kullanılarak çevrilmiyordu, bu nedenle geçmişte değil, $ HISTFILE'ı doğrudan okuyan bir komut dosyası kullanıyordum . Düz-eski historyçalışıyor, bunun yerine kullanacağım.


2
Ayarlamayı denediniz HISTTIMEFORMATmi?
jw013

Muhtemelen strftime formatını yanlış alıyorum. Man sayfasının en az birkaç örnek içermesi yardımcı olacaktır. +% Y-% m-% d% H-% M-% S?
Robottinosino

Yanıtlar:


15

Evet, şunu koy ~/.bashrc:

export HISTTIMEFORMAT='%F %T '

Ardından, aşağıdaki komutları çalıştırın:

. ~/.bashrc
history

Bunun gibi görünecek :

 (...)
 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
 (...)

Çıktının açıklamaları:

  • ilk col benzersiz id
  • ikincisi tarih, üçüncüsü saat
  • son komut satırınız

3
Hayır, OSX üzerinde çalışmaz .. :( Sorun bu. Garip bir işletim sistemi
Robottinosino

Öyle mi source ~/.bashrc?
Gilles Quenot

Kesinlikle yaptım. "Bir şey" yapıyor: sayısal bir zaman damgası ile komuttan önce yorumlanmış bir çizgi ekleme : # 1349057149
Robottinosino

1
@Robottinosino Evet yorumlanan satır beklenen formattır. Komutları biçimlendirilmiş zamanda görüntülemek için historyyerleşik komutunu kullanın, geçmiş dosyasına doğrudan bakmayın.
jw013

1
Geçmiş dosyasındaki zaman damgasının HISTTIMEFORMAT kullanılarak kaydedilmesi mümkün müdür? historyKomutu asla kullanmıyorum , bunun yerine aradığım komutları bulmak için bir metin editörü kullanıyorum ve okunabilir bir tarih referansına sahip olmak güzel olurdu.
gitti
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.