และมันยังใช้นามแฝงเติมข้อความอัตโนมัติได้อย่างไร
และมันยังใช้นามแฝงเติมข้อความอัตโนมัติได้อย่างไร
คำตอบ:
ขึ้นอยู่กับคำสั่ง:
/etc/bash_completion.d/*
(หรือตำแหน่งอื่นในบางระบบ) ฟังก์ชั่นเหล่านี้จะลงทะเบียนกับในตัว (เช่นบอกทุบตีเพื่อเรียกฟังก์ชั่นเมื่อคุณกดบนคำสั่ง) พวกเขาใช้ในตัวเพื่อบอกทุบตี“ นี่คือความสำเร็จที่เป็นไปได้”complete
complete -F _find find
_find
Tabfind
compgen
--help
และแยกวิเคราะห์เอาต์พุต คำสั่งดังกล่าวสามารถลงทะเบียนกับในตัวเช่นcomplete
ในความเป็นจริงแล้วเป็นฟังก์ชั่นการสร้างเสร็จสมบูรณ์ที่เกิดขึ้นเพื่อแยกเอาต์พุตของคำสั่งแทนที่จะใช้รายการคงที่ (มีฟังก์ชั่นเสริมความสมบูรณ์อื่น ๆ ที่แยกเอาท์พุทของคำสั่งเพื่อสร้างความสำเร็จที่เป็นไปได้; ดูตัวอย่าง)complete -F _longopt ls
_longopt
/etc/bash_completion.d/*
complete
ในตัวมีตัวเลือกสำหรับการที่เช่น-A
สำหรับนามแฝงลองดูที่ไฟล์
/ etc / bash_completion
และสังเกตไฟล์จากไดเรกทอรี:
/etc/bash_completion.d
คุณจะพบคำตอบ
การสนับสนุนสำหรับการทุบตีเสร็จมีให้ใน Debian และ Ubuntu โดยแพคเกจเสร็จสิ้นการทุบตี โดยปกติคุณจะต้องยกเลิกการคอมเม้นต์ต่อไปนี้ใน/etc/bash.bashrc
และ / หรือ.bashrc
แหล่งที่มาของไฟล์ bash complete ต่อไปนี้มาจาก/etc/bash.bashrc
:
# enable bash completion in interactive shells
if [ -f /etc/bash_completion ] && ! shopt -oq posix; then
. /etc/bash_completion
fi
สำหรับสิ่งนี้ในการทำงาน ฉันมักจะไม่แสดงข้อคิดเห็นในทั้งสองอย่าง การจัดการเชลล์แบบโต้ตอบ / ล็อกอินใน Debian นั้นค่อนข้างยุ่ง
ความคิดเห็นที่คล้ายกันน่าจะนำไปใช้กับการแจกแจงอื่น ๆ แม้ว่าพวกเขาอาจเปิดใช้งานการจัดหาโดยค่าเริ่มต้น