Existem dois cenários:
- Você está usando Linux
- Você está usando o Mac Os X
Para ambos, você deseja obter ~/.bashrc
em seu perfil o carregamento ou a origem do seu perfil quando o shell do seu terminal iniciar.
LINUX
No Linux, ~/.profile
é automaticamente fonte no seu shell quando é iniciado. Portanto, se você for ao seu terminal e digitar cd ~; ls -A
, verá todos os seus arquivos e diretórios no seu diretório pessoal ( /home/usrname/
). Você deve ver um arquivo chamado .profile
. Este é o arquivo que é automaticamente "originado" quando você inicia o terminal.
Se você deseja adicionar aliases e funções a ~/.bashrc
(que é o que eu faço), você deve (dentro de ~/.profile
adicionar uma instrução if que verifique se ~/.bashrc
é um arquivo não vazio e, em seguida, origine-o.
Para verificar se você ~/.profile
já faz isso, insira nano ~/.profile
. Isso o abrirá em um editor de texto (você pode usar o gedit se souber que possui ou mesmo o vim se souber como usá-lo). Você pode obter um arquivo de texto vazio (não deveria), mas se você simplesmente prosseguir. Se você não vir uma linha em qualquer lugar que diga source ~/.bashrc
, digite as seguintes linhas em algum lugar (coloque-a em um local razoável, como no final ou no início, e não no meio de uma instrução if):
if [ -s ~/.bashrc ]; then
source ~/.bashrc;
fi
Isso verifica se ~/.bashrc
é um arquivo não vazio (com if [ -s ~/.bashrc ]
) e, se é, fornece o arquivo . Bem simples. Agora, você pode adicionar qualquer alias válido, função, variável, etc para ~/.bashrc
.
MAC OS X
Por padrão, fontes de Max OS X ~/.bash_profile
. Para poder adicionar coisas ~/.bashrc
(que também é o que faço no OS X), siga o mesmo procedimento que o linux. No terminal, digite cd ~; nano .bash_profile
. Verifique se há uma linha que diz source ~/.bashrc
e, se não estiver lá, adicione a instrução if acima ( if [ -s ~/.bashrc ]; then source ~/.bashrc; fi
).
NOTAS
Ao escrever uma declaração if, certifique-se de deixar espaços entre basicamente tudo (por exemplo if [ -s ~/.bashrc]; then echo "found"; fi
, não funciona porque não há espaço entre - ~/.bashrc
e ]
o intérprete pensará que essa é uma palavra).
Se você quiser descobrir como verificar melhor as coisas em uma instrução if, vá para o terminal e digite man \[
; isso essencialmente fornece o detalhamento de uma instrução if. Por exemplo, if [ -f /path/to/file ]; then echo "it's a file"; else echo "not a file"; fi
verifica se /path/to/file
é um arquivo e se ele é impresso em stdout adequadamente. Eu sempre refiro isso também para uma referência mais fácil e rápida: 7.2. Operadores de teste de arquivo .
Eu espero que isso ajude. Lembro como fiquei confuso quando comecei todas essas coisas (que não faz muito tempo); então, boa sorte com seus futuros empreendimentos UNIX!