วิธีรับฟังก์ชั่นเติมข้อความอัตโนมัติทั่วไปของเทอร์มินัล


1

ฉันใหม่ใน macOS และฉันใช้ macOS Sierra

ใน Ubuntu และระบบที่ใช้ Linux อื่น ๆ เทอร์มินัลมีระบบเติมข้อความอัตโนมัติที่ช่วยในการทำคำสั่งและตัวเลือกต่าง ๆ ให้สมบูรณ์

ตัวอย่างเช่นสำหรับwgetและคำสั่งอื่น ๆ นอกเหนือจากคำสั่งเสร็จสิ้นหลังจากกดTab2 ครั้งมันจะแสดงรายการตัวเลือกคำสั่งทั้งหมด (ถ้ามี) หรือในsudo wรายการคำสั่งทั้งหมดเริ่มต้นด้วยw

เทอร์มินัล Ubuntu บังคับอัตโนมัติ

แต่บน Mac ของฉันมันคำสั่งแรกเพียงแค่ที่สมบูรณ์และไม่ได้ช่วยหาตัวเลือกหรือส่วนที่สองของคำสั่งเช่นwhoamiในsudo whoami,

ฉันหมายความว่ามันจะไม่แสดงรายการคำสั่งทั้งหมดที่เริ่มต้นด้วยwhoหลังจากกดTab2 ครั้งsudo who

[2]

ฉันพบสคริปต์บางgitตัวสำหรับตัวเลือกที่https://github.com/git/git/tree/master/contrib/completion/แต่ฉันต้องการสิ่งที่ทำเช่นนี้สำหรับคำสั่งและแอปพลิเคชันทั้งหมด

มีวิธีแก้ปัญหาสำหรับสิ่งนั้นหรือไม่?

คำตอบ:



1

ฟังก์ชั่นเสร็จสมบูรณ์ไม่ได้มาจากTerminalแอพพลิเคชั่นหรือระบบปฏิบัติการที่คุณใช้งาน: MacOS X, Linux ...

ฟังก์ชั่นนี้จัดทำโดยเชลล์ของคุณ ในการตรวจสอบว่าอันไหนที่ให้ฟังก์ชั่นที่สมบูรณ์ที่คุณต้องการเพียงแค่รับเชลล์ที่คุณใช้บน Linux ด้วย:

echo ${SHELL}

จากนั้นเปลี่ยนเชลล์ล็อกอินของคุณบน MacOS X ด้วย:

chsh -s /bin/my_preferred_shell

เพื่อใช้งานฟังก์ชั่นการเติมเต็มที่คุณต้องการ

ตรวจสอบว่าเชลล์นี้มีอยู่และสามารถใช้งานได้และอ่านเอกสารประกอบของchsh:

ls -ld /bin/my_preferred_shell

man chsh

เพื่อทดสอบโดยไม่มีความเสี่ยงอย่ารีสตาร์ทเซสชันของคุณเพียงแค่เปิดเทอร์มินัลใหม่ ในกรณีที่มีข้อผิดพลาดคุณจะสามารถเรียกใช้chshอีกครั้ง


ขอบคุณดังนั้นเชลล์ตัวไหนที่สนับสนุนฟังก์ชั่นนี้ฉันกำลังใช้bash
MA Heshmat Khah

เรียกใช้คำสั่งนี้ในสภาพแวดล้อมที่คุณต้องการไม่ใช่สิ่งที่คุณไม่ชอบ :)
แดน

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