หากคุณต้องการลบมันทันทีในรูปแบบเทอร์มินัลเดียวกันก่อนอื่นคุณต้องเพิ่มสิ่งต่อไปนี้ในไฟล์ ~ / .bashrc ของคุณ
PROMPT_COMMAND='history -a'
และรีสตาร์ทเครื่องของคุณ
คุณสามารถเพิ่มได้ทุกที่ในไฟล์. bashrc ฉันได้เพิ่มไว้ด้านล่างพร้อมกับสิ่งอื่น ๆ ที่เกี่ยวข้องกับประวัติ
โดยปกติในระหว่างเซสชัน bash คำสั่งที่ดำเนินการจะไม่ถูกเขียนลงใน. bash_history จนกว่าเซสชันจะถูกยกเลิกดังนั้นจึงPROMPT_COMMAND='history -a'
เข้าสู่คำสั่งจากนั้นจึงเข้าสู่. bash_history
ตอนนี้เมื่อใดก็ตามที่คุณทำผิดพลาดหรือข้อผิดพลาดในคำสั่งและต้องการที่จะลบมันแล้วและมีเพียงดำเนินการดังต่อไปนี้
sed -i '$d' ~/.bash_history
และธาดามันจะถูกลบ
เพื่อทำให้ง่ายขึ้นคุณสามารถใช้นามแฝงกับสิ่งที่ง่ายกว่าและใช้เช่น
alias rh ='sed -i '\''$d'\'' ~/.bash_history'
ดังนั้นการดำเนินการrh
จะลบคำสั่งที่ดำเนินการครั้งสุดท้ายออกจากประวัติ
ด้านบนเป็นนามแฝงชั่วคราวซึ่งมีระยะเวลานานสำหรับเซสชันเพื่อให้เพิ่มถาวรหรือถาวร
alias rh = 'sed -i '\''$d'\'' ~/.bash_history'
ถึง. bashrc
บันทึก
ไม่ควรมีที่ว่างทั้งสองด้าน =
หากคุณไม่ต้องการนามแฝงคุณสามารถทำสิ่งต่อไปนี้ได้
สร้างชื่อคอมมอนrh
และวางไว้ใน/bin
ไดเรกทอรี:
เปิดไฟล์บอกrh
และวางรหัสต่อไปนี้บันทึกและปิด:
sed -i '$d' ~/.bash_history
ทำให้rh
ปฏิบัติการและวางไว้ใน/bin
ไดเรกทอรี:
chmod + x rh
sudo cp rh / bin
ตอนนี้ใช้rh
คำสั่งเพื่อลบคำสั่งล่าสุดจากประวัติ