I am usually using zsh, which provides the chpwd() hook. That is: If the cwd is changed by the cd builtin, zsh automatically calls the method chpwd() if it exists. This allows to set up variables and aliases which depend on the cwd.
Now I want to port this bit of my .zshrc to bash, but found that chpwd() is not recognized by bash. Is a similar functionality already existing in bash? I’m aware that redefining cd works (see below), yet I’m aiming for a more elegant solution.
function cd()
{
builtin cd $@
chpwd
}
You would have to use a DEBUG
traporPROMPT_COMMAND.Examples:
Note that the function defined in
PROMPT_COMMANDis run before each prompt, though, even empty ones.