Você poderia colocar isso no seu .bashrc para redefinir o comando "cd":
cd()
{
[ -z "$*" ] && builtin cd $HOME
[ -n "$*" ] && builtin cd "$*"
[ -f "./bin/activate" && source ./bin/activate
}
Estou usando virtualenv com django e então eu digo que dois diretórios diferentes dizem:
~/Development/site1
~/Development/site2
Então, para configurar meu ambiente, eu normalmente vou para ~/Development/site1
e então executo source bin/activate
. É possível ter esse comando executado automaticamente quando eu cd em um desses diretórios?
Você poderia colocar isso no seu .bashrc para redefinir o comando "cd":
cd()
{
[ -z "$*" ] && builtin cd $HOME
[ -n "$*" ] && builtin cd "$*"
[ -f "./bin/activate" && source ./bin/activate
}
Um alias bash seria suficiente? ou tem que estar ligado para entrar no diretório específico?
Minha solução para bash alias.
Em ~ / .bashrc, verifique se .bash_aliases foi executado.
if [ -f ~/.bash_aliases ]; then
. ~/.bash_aliases
fi
Em ~ / .bash_aliases
alias siteone='cd ~/Development/site1 && source bin/activate'
alias sitetwo='cd ~/Development/site2 && source bin/activate'