Bash komut geçmişi çalışmıyor


13

Oturumlar arasındaki komut geçmişi kaydedilmiyor. Guake kullanıyorum ve oturumun geçmişi iyi çalışıyor.

.Bash_historysudo -s modunda yaptığım bazı komutları olduğunu fark ettim ve tekrar denedim ve oturum sırasında tüm komutlar kaydedildi, bu yüzden denedimchmod 777 .bash_history

Artık eski komutlar bir oturumun başında görünür, ancak yeni komutlar kaydedilmez

Thanx peşin


2
Peki ... tam olarak ne yapmaya çalışıyorsun? Burada bir soru sormuyorsun: /
Thomas Ward

4
Mod 777 gereksizdir, özellikle 'yürütülebilir' bayrağıyla ilgisi yoktur (varsayılan mod 600'dür). ~/.bash_historyEğer (ulaşmak için oturumu sırasında yazılı alır yeni komutları kullanabilirsiniz historykomutu). Ama ben de sorunu göremiyorum ..
Onedinkenedi

Yanıtlar:


16

Bash geçmişi kabuktan çıktıktan sonra .bash_history dosyasına kaydettiği için komutlar görünmez ve bu çok nadiren Guake ile olur. Her komuttan sonra Bash'in geçmişi (dosyanın üzerine yazmak yerine) eklemesini sağlamak için basit bir çözüm vardır

shopt -s histappend
PROMPT_COMMAND="history -a;$PROMPT_COMMAND"

4
Saf harika. Keşke bunu 5 yıl önce öğrenmiş olsaydım.
HDave

8

İlgili, genellikle bunun nasıl bozulduğu, bir .bash_history dosyanızdan önce bir komutu sudo yaparsanız, o zaman kullanıcınızın yerine root'a ait olarak oluşturulacaktır.



2

Bu kök de olabilir: kök sizin .bash_history'nizin sahibidir (KÖK SAHİBİ OLMAMALIDIR, KULLANICINIZ SAHİBİ OLMALIDIR!), Bu durumda şunları yapmanız gerekir:

#chown user:user .bash_history

Görünüşe göre sudo bashçok yaparsanız olabilir !

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.