ไม่ได้บันทึกประวัติทุบตีหลังจากปิดเทอร์มินัล


40

ฉันเพิ่งเปลี่ยนการติดตั้ง Ubuntu 14.04 ด้วย Ubuntu Gnome (ซึ่งมาพร้อมกับ Gnome DE) แต่ฉันสังเกตเห็นว่าประวัติทุบตีจะไม่ถูกบันทึกเมื่อปิดเทอร์มินัลเซสชัน เมื่อฉันปิดเทอร์มินัลเซสชันและเปิดใหม่และเรียกใช้คำสั่งhistoryจะไม่แสดงอะไรนอกเหนือจากhistoryคำสั่งของตัวเอง มีวิธีใดในการแก้ปัญหานี้หรือไม่?

ขอขอบคุณ


คุณคิดออกไหม ถ้าไม่ใช่ให้วางโปรไฟล์ / rc ของคุณที่นี่เพื่อตรวจสอบ
JBallin

คำตอบ:


66

อาจเป็นไปได้ว่า. bash_history ของคุณไม่ได้เป็นของผู้ใช้ของคุณ ตรวจสอบการอนุญาตของไฟล์และหากคุณไม่ใช่เจ้าของให้เปลี่ยน:

sudo chown yourusername:yourusername ~/.bash_history

4
ทำงานให้ฉัน สงสัยว่าเกิดขึ้นได้อย่างไร
Klik

3
กันที่นี่ ฉันยังสงสัยว่าทำไมถึงเกิดขึ้น?
Chris

1
คุณไม่ควรตั้งกลุ่มด้วยsudo chown yourusername:yourusername ~/.bash_historyหรือ
ผู้ชายกับหมวก

Boombaa! ฉันรับศีลธรรมนี้จากเรื่อง: "เมื่อสิ่งอำนวยความสะดวกขั้นพื้นฐานดังกล่าวล้มเหลว (และโดยค่าเริ่มต้นคือ ON) จากนั้นเป็นไปได้มากว่านี่เป็นเพราะสิทธิ์" ปัญหา: มีชื่อเสียง ":) :)
ปีเตอร์

18

พิมพ์คำสั่งแรกดังต่อไปนี้

shopt -s

เพื่อตรวจสอบhistappendคำสั่งweather คือ 'เปิด' หรือ 'ปิด' ถ้ามันถูกปิดให้พิมพ์คำสั่งต่อไปนี้เพื่อผนวกประวัติ

history -a

หากคุณต้องการบันทึกประวัติด้วยพรอมต์ใหม่ทุกคำสั่งให้รันคำสั่งต่อไปนี้

export PROMPT_COMMAND='history -a'

สำหรับข้อมูลเพิ่มเติมดูลิงค์นี้


histappendคือ 'เปิด' ไม่สามารถทราบได้ว่าเกิดอะไรขึ้น : /
Deepal

ฉันคิดว่าไพพ์บางตัวที่เชื่อมต่อกับไฟล์ประวัติเสียเพราะถ้าจากเทอร์มินัลประวัติต่อท้ายอาจเป็นกรณีที่ท่อแตกลองลองทำการ reparing หรือติดตั้งระบบใหม่ถ้าคุณทำได้
Chinmaya B

histappendไม่ได้อยู่ในรายการshopt -sแม้กระทั่งสรรพสินค้า$HISTSIZEและ$HISTFILESIZEตั้งค่าไว้อย่างเหมาะสม ความคิด? ขอบคุณ!
HCSF
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.