Executa automaticamente um comando ao entrar em um determinado diretório?

1

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?

    
por Kit Sunde 25.09.2011 / 17:46

2 respostas

3

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
}
    
por waltinator 26.09.2011 / 00:10
3

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'
    
por filescraps 25.09.2011 / 20:36