คุณกำลังพูดถึงคำสั่งที่มีช่องว่าง แต่ที่นี่คำสั่งคือgit
และไม่มีที่ว่างในนั้น
ในการเรียกคำสั่งคอมไพล์คุณต้องเขียนมัน
git\ commit ...
'git commit' ...
"git commit" ...
โดยทั่วไปคำสั่งจะไม่มีที่ว่างในชื่อของพวกเขาด้วยเหตุนี้มันจึงเป็นเรื่องยุ่งยากที่จะเรียกพวกมันมาในเชลล์ดังนั้นฉันไม่คิดว่าคุณจะพบคำสั่งดังกล่าวในระบบของคุณ
csh, tcsh หรือ zsh จะช่วยให้คุณสามารถนามแฝงใด ๆ ข้างต้น แต่ไม่ทุบตีหรือ ksh (แม้ว่า pdksh จะช่วยให้คุณ แต่คุณจะไม่อนุญาตให้คุณใช้พวกเขา) ใน zsh:
alias "'git commit'=git commit -v"
'git commit' ...
จะทำให้git command
คำสั่ง (เมื่อเรียกว่าเป็น'git command'
(ด้วยคำพูดเดียว) เท่านั้น) นามแฝงสำหรับgit
คำสั่งที่มีcommit
และ-v
ข้อโต้แย้ง ไม่ใช่สิ่งที่คุณกำลังมองหาฉันคาดเดา
เนื่องจากalias
สามารถใช้คำสั่ง alias ได้เพียงอย่างเดียวคุณสามารถนามแฝงได้ที่นี่คือgit
คำสั่งและคุณต้องใช้นามแฝงกับสิ่งที่แทรก "-v" หลังจาก "commit" ในรายการอาร์กิวเมนต์ ดีที่สุดคือไปกับโซลูชันของ @ jw013 แต่ถ้าด้วยเหตุผลบางอย่างที่คุณทำไม่ได้หรือไม่แทนที่จะใช้นามแฝงคุณสามารถใช้ฟังก์ชันเพื่อทำงาน:
git() {
if [ "$1" = commit ]; then
shift
set -- commit -v "$@"
fi
command git "$@"
}
git config
ไม่ได้git-config