Я обычно использую zsh, который обеспечивает chpwd () рычаг. Это: Если cwd изменяется встроенным CD, zsh автоматически называет метод chpwd (), если он существует. Это позволяет настраивать переменные и псевдонимы, которые зависят от cwd.
Теперь я хочу портировать этот бит своего .zshrc для избиения, но нашел, что chpwd () не распознан ударом. Схожая функциональность является уже существующей в ударе? Я знаю что переопределение работ CD (см. ниже), все же я стремлюсь к более изящному решению.
function cd()
{
builtin cd $@
chpwd
}
Вам придется использовать DEBUG trap
или PROMPT_COMMAND
.
Примеры:
trap chpwd DEBUG # calls the function before each command
PROMPT_COMMAND=chpwd # calls the function after each command
Обратите внимание, что функция, определенная в PROMPT_COMMAND
, выполняется перед каждым приглашением, даже пустым.