Para quem desenvolve com Django deve estar acostumado a digitar: python manage.py runserver
Se nós usarmos o recurso de alias nós economizaremos muito tempo, dedo e teclado pois ao invés de digitar aquele comando todo agente pode digitar apenas mr.
Legal, e como eu faço isso?
Simples, basta digitar esse comando no terminal:
alias mr='python manage.py runserver'
E a partir de agora iremos chamar o comando apenas digitando mr. Ou qualquer outro apelido que for mais conveniente para você.
Simples não?
Mas toda vez que abrir um terminal vou ter que definir um alias?
Por padrão quando queremos que os alias fiquem sempre disponíveis, definimos eles em um deste arquivos:
- ~/.bashrc - só funciona para o usuário atual;
- /etc/bash.bashrc - funciona para todos os usuários;
Uma vez definidos os alias dentro de um destes arquivos você pode carregá-los usando uma destas alternativas:
- Fechando o terminal e abrindo novamente;
- Digitando bash
- Digitando source ~/.bashrc ou source /etc/bash.bashrc dependendo de em qual deles você definiu seus alias
Agora vamos supor que temos diversos projetos Django e cada um tem seu próprio virtualenv, e cada um tem suas peculiaridades e atalhos específicos, e se você criar todos os alias em um dos arquivos acima citados você eventualmente pode encontrar algum problema ou simplesmente vai encher seu shell de atalhos inúteis. Então o que posso fazer?
Simples, neste caso nós vamos criar os alias dependentes de projetos dentro do arquivo activate do virtualenv do projeto.
Ficou confuso?
Vamos entender.
Nós temos 4 virtualenvs distintos para cada projeto:
- /home/exemplo/virtualenv_a
- /home/exemplo/virtualenv_b
- /home/exemplo/virtualenv_c
- /home/exemplo/virtualenv_d
Dentro de cada virtualenv nós temos o diretório bin e dentro dele o arquivo activate, certo?
Pois bem, o arquivo activate nada mais é que um shell script, assim como o ~/.bashrc e o /etc/bash.bashrc, então agente simplesmente coloca os alias dentro do activate de cada virtualenv, assim cada um terá sua própria configuração de forma isolada. Afinal de contas essa é a premissa do virtualenv, que "cada macaco fique no seu galho".
OBS: Isso funciona com qualquer comando de terminal.
Abraço e até a próxima!

