W moim .profile
(pochodzącym sh
z mojego trybu emulacji .zshrc
) mam następujący fragment kodu:
if [ -f /usr/bin/pacmatic ]; then
alias pacman=pacmatic
fi
# Colorized Pacman output
alias pacman="pacman --color auto"
Jednak drugi alias zawsze zastępuje pierwszy:
% type pacman
pacman is an alias for pacman --color auto
Jak mogę to zrobić, aby drugie przypisanie aliasu „dziedziczyło” pierwsze przypisanie, aby, jeśli /usr/bin/pacmatic
istnieje, alias stał się pacmatic --color auto
?
Nie jestem przeciwny używaniu funkcji zamiast aliasów, ale wolałbym, żeby logika nie była wykonywana przy każdym pacman
wywołaniu (chcę pacmatic
sprawdzić raz, przy uruchomieniu powłoki, nie za każdym razem pacman
). Wolałbym także sh
skrypt obsługiwany przez użytkownika, ale jeśli nie jest to możliwe, możesz użyć pełnej zsh
składni.
(Tak, wiem, że można to łatwo rozwiązać, dołączając --color auto
do pacmatic
aliasu. Ale chcę to zrobić we właściwy sposób.)
Próbowałem Googling i przeglądałem strony, ale bezskutecznie.
bash
) i mogą łatwo do siebie dzwonić.