zsh
มีฟังก์ชั่นที่สมบูรณ์สำหรับคำสั่งใน PATH
ชื่อ _path_commands
. คุณสามารถกำหนดค่าความสมบูรณ์ที่จะใช้สำหรับ myFunc
โดยวิ่ง:
compdef _path_commands myFunc
บันทึก: สิ่งนี้ต้องการให้ ระบบเสร็จสิ้น zsh ที่จะเริ่มต้น โดยปกติ (ตามที่ตั้งค่าโดย compinstall
) สิ่งนี้เกิดขึ้นในของคุณ ~/.zshrc
กับ
# some zstyle configurations
autoload -Uz compinit
compinit
มีสายเข้า compdef
ต้องทำหลังจาก compinit
. หากคุณได้รับข้อผิดพลาด "ไม่พบคำสั่ง" เมื่อเรียกใช้ compdef
ฉันขอแนะนำให้ติดตั้งระบบเสร็จ compinstall
.
บันทึก: เพื่อความปลอดภัย zsh จะโยนข้อผิดพลาดหากไดเรกทอรีใน $ path ของคุณเขียนได้ทั่วโลก หากคุณได้รับข้อผิดพลาด:
zsh compinit: ไดเรกทอรีที่ไม่ปลอดภัยรัน compaudit เพื่อดูรายการ ไม่สนใจ
ไดเรกทอรีที่ไม่ปลอดภัยและดำเนินการต่อ [y] หรือยกเลิก compinit [n]?
อย่าเพียงแค่กด y แต่กด n แล้วลอง compaudit | xargs chmod g-w
ตามที่แนะนำไว้ที่ https://stackoverflow.com/questions/13762280/zsh-compinit-insecure-directories