ในของฉัน.profile
(ที่มาในsh
โหมดการจำลองจากของฉัน.zshrc
) ฉันมีตัวอย่างต่อไปนี้:
if [ -f /usr/bin/pacmatic ]; then
alias pacman=pacmatic
fi
# Colorized Pacman output
alias pacman="pacman --color auto"
อย่างไรก็ตามนามแฝงที่สองจะแทนที่สิ่งแรกเสมอ:
% type pacman
pacman is an alias for pacman --color auto
ฉันจะทำอย่างไรเพื่อให้การมอบหมายนามแฝงที่สอง "สืบทอด" การมอบหมายครั้งแรกดังนั้นถ้า/usr/bin/pacmatic
มีอยู่นามแฝงจะกลายเป็นpacmatic --color auto
?
ฉันไม่รังเกียจที่จะใช้ฟังก์ชั่นแทนนามแฝง แต่ฉันต้องการมันถ้าตรรกะไม่ได้ถูกดำเนินการทุกครั้งที่pacman
ถูกเรียกใช้ (ฉันต้องการpacmatic
ตรวจสอบหนึ่งครั้งเมื่อเริ่มต้นเชลล์ไม่ใช่ทุกครั้งที่pacman
ทำงาน ฉันต้องการใช้sh
สคริปต์แบบพกพาด้วย แต่ถ้าไม่สามารถทำได้คุณสามารถใช้zsh
ไวยากรณ์แบบเต็มได้
(ใช่ฉันรู้ว่าเรื่องนี้อาจจะได้รับการแก้ไขได้อย่างง่ายดายโดยการผนวก--color auto
กับpacmatic
นามแฝง. แต่ฉันต้องการที่จะทำทางขวา™.)
ฉันลองใช้ Google และค้นหา manpages แต่ก็ไม่มีประโยชน์
bash
) และพวกเขาสามารถโทรหากันได้อย่างง่ายดาย