ฉันจะควบคุม + d ไม่ให้ยกเลิกการเชื่อมต่อเซสชันได้อย่างไร


26

ฉันไปที่กล่อง centos 5 เป็นประจำ ยังไงก็ตามพวกเขาคีย์ถูกแมปเพื่อที่control+dจะออกจากเปลือกปัจจุบันของฉัน หากฉันใช้งาน sudo'ed อีกครั้งจะทำให้ฉันกลับไปใช้งานเดิม หากฉันไม่ได้ sudo'ed มันเพียงตัดการเชื่อมต่อฉัน ฉันจะป้องกันไม่ให้สิ่งนี้เกิดขึ้นได้อย่างไร ฉันใช้การควบคุม + d เป็นประจำเพื่อยกเลิกตัวแปลภาษาไพ ธ อนและบางครั้งฉันก็กดมันมากกว่าหนึ่งครั้งโดยไม่ตั้งใจ


ในcshคุณทำset ignoreeof
เทรเวอร์บอยด์สมิ ธ

คำตอบ:


32

คุณกำลังมองหาIGNOREEOFตัวแปรสภาพแวดล้อมหากคุณใช้bash:

IGNOREEOF

ควบคุมการทำงานของเชลล์แบบโต้ตอบเมื่อรับอักขระ EOF เป็นอินพุตเพียงอย่างเดียว หากตั้งค่าจะเป็นจำนวนของอักขระ EOF ที่ต่อเนื่องกันซึ่งจะต้องพิมพ์เป็นอักขระตัวแรกในบรรทัดอินพุตก่อนที่ bash จะออก หากตัวแปรนั้นมีอยู่ แต่ไม่มีค่าตัวเลขหรือไม่มีค่าใด ๆ ค่าเริ่มต้นคือ 10 ถ้าไม่มีอยู่ EOF หมายถึงจุดสิ้นสุดของอินพุตไปยังเชลล์

ดังนั้นexport IGNOREEOF=42คุณจะต้องกดCtrl+Dสี่สิบสองครั้งก่อนที่มันจะหยุดเปลือกของคุณ

POSIX setก็มีการ-o ignoreeofตั้งค่าเช่นกัน ดังนั้นศึกษาเอกสารของเชลล์เพื่อดูว่าเชลล์ของคุณมี (ควร) และตรวจสอบซีแมนทิกส์ที่แน่นอนของมันหรือไม่


ดีให้ข้อความ "ใช้ทางออกเพื่อออกจากเชลล์" อย่างน้อยใน Ubuntu การที่จะเป็นผู้ใช้คุณอาจไม่ต้องการทิ้งมันไว้โดยไม่ตั้งใจโดยเฉพาะถ้าผู้ใช้ระดับสูงคือระดับราก
Fiasco Labs

1
ฉันพบว่ามันน่ารำคาญจริงๆดังนั้นฉันไม่ได้ตั้งไว้ที่ใด พบข้อมูลเกี่ยวกับเหล่านี้ขณะที่พยายามที่จะปิดการใช้งานว่าพฤติกรรม :)
จ้า

2
ฉันไม่สามารถต้านทานการเป็นคนอวดรู้ IGNOREEOFคือจำนวนครั้งที่ EOF ถูกละเว้นก่อนที่จะยอมรับในที่สุด ดังนั้นในตัวอย่างข้างต้นหากคุณexport IGNOREEOF=42คุณจะต้องกด CONTROL-D 43 ครั้งเพื่อออก - ไม่ใช่ 42
Alvin Thompson


0

หากคุณไม่ชอบจริงๆCtrl-dคุณสามารถลบeofตัวละครในส่วนควบคุมเทอร์มินัลได้

stty eof undef

หลังจากนี้Cntl-dจะเป็นตัวควบคุมอื่น ๆ


1
ฉันเพิ่งลองมันในเทอร์มินัล (urxvt) ด้วย bash และในคอนโซลธรรมดาและมันไม่ทำงาน
Mat

อืม ... ที่ใช้ในการทำงานและเอกสารยังคงบอกว่ามันทำ ทางเลือกอื่นคือใช้ <kbd> Ctrl- [</kvd>
Arcege

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