.inputrc vs .bashrc การตั้งค่า


9

ฉันสังเกตเห็นการตั้งค่าบางอย่างใน.bashrcและ.inputrcไฟล์มีลักษณะเหมือนหรือคล้ายกันเช่น:

shopt -s nocaseglobVS set completion-ignore-case
export HISTSIZEVS set history-size
export HISTFILESIZEVSset history-size

อย่า.inputrcตั้งค่ายังส่งผลกระทบต่อการเสร็จสิ้นและขนาดประวัติศาสตร์ในเปลือกหลาม (ถ้าวิ่งภายในอาคารผู้โดยสาร)?

ถูกHISTSIZEจำกัด ด้วยhistory-sizeหรือไม่ก็แทนที่มันได้หรือไม่

คำตอบ:


10

จากbashคู่มือ:

history-size (ล้าง)

ตั้งค่าจำนวนรายการประวัติสูงสุดที่บันทึกไว้ในรายการประวัติ หากตั้งค่าเป็นศูนย์รายการประวัติที่มีอยู่จะถูกลบและไม่มีการบันทึกรายการใหม่ หากตั้งค่าเป็นน้อยกว่าศูนย์จำนวนรายการประวัติไม่ จำกัด โดยค่าเริ่มต้นจำนวนรายการประวัติถูกตั้งค่าเป็นค่าของHISTSIZE ตัวแปรเชลล์ หากมีการพยายามตั้งค่าhistory-sizeที่ไม่ใช่ตัวเลขจำนวนรายการประวัติสูงสุดจะถูกตั้งไว้ที่ 500

ดังนั้นถ้าคุณตั้งค่าHISTSIZEไม่ได้ตั้งค่าในhistory-size .inputrcห้องสมุด ReadLine (ซึ่ง.inputrcคือการกำหนดค่า) ไม่สนใจสิ่งที่คุณกำหนดHISTFILESIZEเพื่อ HISTFILESIZEคือขนาดที่ไฟล์ประวัติ ( $HISTFILE) ถูกตัดทอนเมื่อbashเชลล์เซสชันออก (โดยbashไม่ใช่ไลบรารี readline)

ตามคำถาม " มีวิธีการตั้งค่าขนาดของรายการประวัติใน bash เป็นมากกว่า 5,000 บรรทัดหรือไม่ " การhistory-sizeตั้งค่าไลบรารี readline ดูเหมือนว่าจะแทนที่การHISTSIZEตั้งค่าในเชลล์หากทั้งสองถูกตั้งค่าไว้

nocaseglobตัวเลือกเปลือกไม่ได้เช่นเดียวกับการตั้งค่าในcompletion-ignore-case .inputrcตัวเลือกเชลล์เป็นเรื่องเกี่ยวกับพฤติกรรมการวนรอบชื่อไฟล์ในขณะที่การตั้งค่า readline เกี่ยวข้องกับการเติมชื่อไฟล์ให้สมบูรณ์ (เมื่อคุณกดTabที่บรรทัดคำสั่ง)

.inputrcการตั้งค่ามีผลกระทบต่อโปรแกรมทั้งหมดที่ใช้ไลบรารี ReadLine bashที่ไม่เพียง

bashอาจเริ่มต้นโดยไม่มีการสนับสนุน readline โดยเรียกใช้กับ--noeditingแฟล็ก


โปรดทราบว่าทั้งสองHISTSIZEและHISTFILESIZEเป็นตัวแปรเชลล์ไม่ใช่ตัวแปรสภาพแวดล้อมดังนั้นจึงไม่จำเป็นต้องส่งออก

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