ทำไม bash จึงมีตัวเลือก HISTCONTROL =


13

หรือพูดให้แตกต่างกันทำไมคุณต้องการป้องกันคำสั่งไม่ให้เขียนลงในประวัติทุบตี?

(ได้รับแรงบันดาลใจจากคำถามที่เกี่ยวข้อง )


1
นี่คือกระทู้ในรายชื่อผู้รับจดหมายของ bash ที่เกี่ยวข้องกับคำถามของคุณ: lists.gnu.org/archive/html/bug-bash/2010-02/msg00024.html
altmas5

คำตอบ:


19

สิ่งหนึ่งที่ฉันใช้ที่พื้นที่เริ่มต้นสำหรับคือถ้าฉันต้องการที่จะสามารถเริ่ม commandline เก่าที่เริ่มต้นด้วยคำสั่งเดียวกัน ( !lsเช่น) และฉันจะต้องสามารถเรียกใช้รุ่นเก่า แต่ไม่ใช่ที่ใหม่กว่า

เวลาอื่น ๆ ที่ฉันใช้มันอยู่ใน (ไม่ค่อย) กรณีผมให้รหัสผ่านบน commandline ที่ฉันค่อนข้างไม่ต้องเหล่านั้นเก็บไว้ในแฟ้มเมื่อฉันออกจาก.bash_historybash


3

นอกเหนือจาก Anthon: มันเป็นไปไม่ได้ที่จะหลีกเลี่ยงบรรทัดคำสั่งที่คล้ายกันในประวัติศาสตร์ แต่ในบางครั้งมีความจำเป็นต้องทำเช่นนั้น: ฉันมักจะวิเคราะห์ใบรับรอง OpenPGP ในเชลล์ นั่นหมายความว่า 15 บรรทัด (บางครั้งมากกว่านั้น) จะถูกโยนลงในคอนโซล คุณทำเช่นนั้นสองสามครั้งและประวัติของคุณเต็ม ยิ่งแย่กว่านั้น: ประวัติใช้งานไม่ได้หากคำสั่งครอบคลุมทั้งหน้าจอ (ทุบตี) การเริ่มต้นคำสั่งไม่แสดงอย่างถูกต้องและสามารถแก้ไขได้ยาก

ดังนั้นฉันจะเก็บบรรทัดคำสั่งเหล่านี้ค่อนข้างสั้นในประวัติและบล็อกบรรทัดอื่น


คุณควรทำให้ขนาดประวัติทุบตีของคุณ (จำนวนรายการหรือบรรทัด) ไม่ จำกัดexport HISTFILESIZE=-1
altmas5

3

ฉันไม่อยากรู้เลยว่าฉันได้เล่นเกมรวบรวมข้อมูลมากี่ครั้งแล้ว!

บางครั้งฉันต้องการทำhistory | awk '{print $2}' | sort -n | uniq -c | sort -n | tailเพื่อดูคำสั่งที่ออกมากที่สุดของฉัน ผมต้องการที่จะเห็นการจัดอันดับในการมีคำสั่งฉันพบที่น่าสนใจ (สิ่งที่ชอบls, svn, p4, forและcd) และฉันรู้สึกดีขึ้นเมื่อฉันไม่เห็นเกมในรายการที่ ดังนั้นเมื่อฉันเรียกใช้บางสิ่งที่ฉันไม่ต้องการเห็นในรายการฉันก็เติมมันด้วยช่องว่าง


1
สิ่งนี้ไม่ได้ตอบคำถาม
slm

2
ฉันไม่รู้: มันเป็นการใช้ตัวแปรที่ถูกต้อง (และมันแสดงออกด้วยระดับของอารมณ์ขันและความสุภาพ) upvoted
jasonwryan

คุณสามารถเพิ่มเกมที่คุณเล่นใน HISTIGNORE เพื่อหลีกเลี่ยงการรับในไฟล์ประวัติ
theist
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.