У моєму .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
сценарію -portable, але якщо це неможливо, ви можете використовувати повний zsh
синтаксис.
(Так, я знаю , що це може бути легко вирішена шляхом додавання --color auto
до pacmatic
псевдоніму. Але я хочу зробити це правильний шлях ™) .
Я спробував гуглінг і переглядав манпажі, але безрезультатно.
bash
), і вони можуть легко дзвонити один одному.