Deixe o shell com a sua cara: dotfiles
Aprenda quais arquivos de inicialização rodam e quando, e mantenha os seus aliases, PATH e prompt.
- Explicar o que .bashrc e .bash_profile fazem, e quando cada um roda
- Acrescentar aliases, entradas no PATH e funções que sobrevivem a um reinício
- Personalizar o prompt e manter os seus dotfiles no Git
O seu alias sumiu quando você fechou o terminal, porque ele só existia naquele shell. Para manter algo, coloque num arquivo de inicialização. Eles se chamam dotfiles porque os nomes começam com ponto, o que os esconde de um ls simples.
Que arquivo roda quando?
- O
~/.bashrcroda para cada novo shell interativo, como uma nova aba do terminal. Aliases, funções e o seu prompt vão aqui. - O
~/.bash_profile(ou~/.profile) roda para shells de login, como quando você se conecta por SSH. As variáveis de ambiente vão aqui. A maioria das pessoas faz ele carregar o.bashrctambém. - Os scripts não rodam nenhum dos dois, e é por isso que um alias que funciona no seu prompt falha dentro de um script.
Uma mudança não afeta os shells que já estão abertos. Para aplicá-la agora mesmo, rode source ~/.bashrc, que roda o arquivo no seu shell atual.
Nota sobre o macOS: o shell padrão dele agora é o zsh, então o arquivo equivalente é o ~/.zshrc.
Experimente
Até 15 XPConfigure a sua estação de trabalho
Configure o seu shell na Kestrel. Lembre que >> acrescenta a um arquivo, e > apagaria toda a sua configuração.
Missão 1 de 4
Encontre os seus dotfiles
Ada: “A sua configuração está oculta. Liste-a e me diga qual é o editor padrão.”
Shell simulado. Tente ls, ou digite help para ver os comandos.
- Encontre os seus dotfiles
- Mantenha um alias
- Carregue agora
- Amplie o seu PATH
Mantenha a sua configuração segura
Muitos engenheiros guardam os dotfiles num repositório Git e os ligam no lugar com links, para que uma máquina nova pareça a sua casa em um minuto. Trate esse repositório como público, mesmo que seja privado: chaves de API e tokens não pertencem aos dotfiles. Carregue-os de um gerenciador de segredos ou de um arquivo separado e ignorado.
Experimente
Até 15 XPEm que arquivo isto deve ficar?
Decida para onde vai cada configuração.
“alias gs="git status"”
“Um prompt PS1 personalizado”
“export PATH="$HOME/bin:$PATH", definido uma vez no login”
“export API_TOKEN=abc123”
Principais conclusões
O .bashrc é para shells interativos, e o .bash_profile para logins.
Os scripts não leem nenhum dos dois.
O source aplica uma mudança ao seu shell atual.
Mantenha os dotfiles no Git, e os segredos fora deles.
Quiz da aula
6 perguntas · aprovação com 5 acertos · até 50 XP
Ao passar, você conclui a aula e mantém sua sequência. As perguntas erradas voltarão em sessões de revisão.
Pratique: escreva código em scripts Bash
Escreva um script no editor e execute-o de verdade com entradas de exemplo. Cada execução ganha um sandbox Linux novo com Bash 5.2 e as ferramentas GNU no Wandbox, um serviço público gratuito, então experimente à vontade, até com rm. Seu script e a entrada de teste são enviados para lá.
Leia o PATH
O stdin é um valor de PATH. Imprima cada pasta numa linha própria, numerada a partir de 1, como 1: /usr/bin. Depois imprima Search order is top to bottom.
- Três pastas
- Uma pasta
Seu script roda com Bash 5.2 e ferramentas GNU no Wandbox, um serviço público gratuito, em um sandbox novo a cada execução. Seu script e a entrada de teste são enviados a esse serviço.
Dúvidas sobre esta lição
Travou em algum ponto? Pergunte. Descobriu algo? Compartilhe. Explicar também é uma ótima forma de aprender.
Carregando publicações…