W moim .profile(pochodzącym shz 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/pacmaticistnieje, 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 pacmanwywołaniu (chcę pacmaticsprawdzić raz, przy uruchomieniu powłoki, nie za każdym razem pacman). Wolałbym także shskrypt obsługiwany przez użytkownika, ale jeśli nie jest to możliwe, możesz użyć pełnej zshskładni.
(Tak, wiem, że można to łatwo rozwiązać, dołączając --color autodo pacmaticaliasu. 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ć.