เมื่อคุณเปิดเทอร์มินัล bash มันจะโหลดเนื้อหาของ~/.bash_historyและสร้างประวัติของเชลล์ที่ใช้งานอยู่ (ใน RAM) เพิ่มคำสั่งทุกคำสั่งที่ทำงานในเชลล์นั้นให้กับมันและเฉพาะกับมันไม่ใช่ไฟล์
เมื่อคุณปิดเทอร์มินัล bash เท่านั้นประวัติจะถูกผนวกเข้ากับ~/.bash_historyไฟล์ของคุณ
ตัวเลือกของhistory:
history -a # save the active shell's history to ~/.bash_history (appending)
history -c # clear the active shell's history
history -d NNN # delete row NNN of the active shell's history
history -r # reload the active shell's history from ~/.bash_history (appending)
history -w # save the active shell's history to ~/.bash_history (overwriting)
ตัวเลือกสำหรับ~/.bashrcไฟล์
หากคุณต้องการเปลี่ยนพฤติกรรมนี้เพื่อให้บันทึกประวัติชั่วคราวเป็น~/.bash_historyโดยตรงหลังจากดำเนินการคำสั่งให้เพิ่มบรรทัดนี้:
PROMPT_COMMAND="history -a"
หากคุณต้องการให้ทุกเทอร์มินัลโหลด~/.bash_historyไฟล์โดยอัตโนมัติหลังจากดำเนินการคำสั่งทุกครั้งให้เพิ่มบรรทัดนี้แทน:
PROMPT_COMMAND="history -a; history -c; history -r"
หากคุณต้องการยกเว้นคำสั่งบางอย่าง (เช่นทุกอย่างที่ขึ้นต้นด้วยsudoและcat) ไม่ให้บันทึกให้เพิ่มบรรทัดนี้:
HISTIGNORE="sudo*:cat*"