Carregando
0x130Lição 20 de 28

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.

22 min Questionário com 6 perguntas 1 exercício de código
Ao final desta lição, você saberá
  • 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 ~/.bashrc roda 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 .bashrc també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 XP

Configure 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.

Seta para cima: histórico. Tab: completar. Ctrl-L: limpar. Ctrl-C: cancelar.
  1. Encontre os seus dotfiles
  2. Mantenha um alias
  3. Carregue agora
  4. 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 XP

Em que arquivo isto deve ficar?

Decida para onde vai cada configuração.

0 de 4 classificadosPontuação 0/0
  • “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á.

Exercício 1

Leia o PATH

+25 XP

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
script.sh
Carregando editor…

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…