Shell Scripting – Arquivos de Configuração profile, bashrc e outros – 05

Arquivos de configuração no Bash: profile, bashrc e outros no Linux

No shell Bash, são empregados alguns os arquivos de configuração para personalizar o ambiente de shell e definir configurações para cada sessão de usuário. Eles controlam variáveis de ambiente, aliases, comandos de inicialização e outros comportamentos específicos de cada usuário ou do sistema como um todo.

Esses arquivos geralmente são carregados automaticamente ao abrir uma nova sessão no terminal.

Neste artigo veremos sucintamente os principais arquivos de configuração do Bash, onde encontrá-los, e alguns exemplos práticos de uso.

O arquivo /etc/profile

O arquivo /etc/profile é um dos principais arquivos de configuração globais no Bash. Ele é carregado para todos os usuários ao iniciar uma nova sessão de login. Qualquer configuração colocada nele é aplicada globalmente, afetando todos os usuários do sistema.

Esse arquivo é utilizado principalmente por administradores do sistema para definir variáveis de ambiente e configurações padrão para todos os usuários.

Exemplo de configuração:

# Definir o PATH global para todos os usuários
export PATH="/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin:/sbin:$PATH"

Esse exemplo define o PATH global, adicionando diretórios padrão onde o sistema busca por executáveis.

O arquivo ~/.profile

O arquivo ~/.profile é um arquivo de configuração específico de cada usuário. Ele é carregado durante uma sessão de login para definir variáveis e configurações pessoais.

Este arquivo permite personalizar o ambiente do Bash sem afetar outros usuários do sistema, sendo útil para configurações que cada usuário queira aplicar apenas em sua própria sessão.

Exemplo de configuração:

# Definir uma variável de ambiente personalizada
export EDITOR=nano

Nesse exemplo, o editor de texto padrão é definido como nano apenas para o usuário atual.

O arquivo /etc/bash.bashrc

O arquivo /etc/bash.bashrc é outro arquivo de configuração global, mas, ao contrário do /etc/profile, ele é carregado em sessões interativas não-login, como quando se abre uma nova aba do terminal. Isso permite que configurações globais também estejam disponíveis em sessões onde o usuário já fez login.

Exemplo de configuração:

# Ativar o histórico de comandos para todas as sessões
export HISTSIZE=1000
export HISTFILESIZE=2000

Essas duas configurações permitem aumentar o tamanho do histórico de comandos, permitindo que mais comandos anteriores sejam armazenados e acessados por todos os usuários.

O arquivo ~/.bashrc

O ~/.bashrc é o arquivo de configuração mais utilizado no Bash para configurações específicas de cada usuário em sessões interativas. Ele é carregado em sessões de terminal interativas não-login, como uma nova aba ou ao abrir um terminal dentro do ambiente gráfico.

No ~/.bashrc, podem ser definidos aliases, funções, variáveis de ambiente, entre outras personalizações.

Exemplos de configuração:

1. Criar um alias para um comando:

alias ll='ls -la'

Esse alias permite que o comando ll liste arquivos em formato detalhado, facilitando a navegação.

2. Personalizar o prompt (PS1):

export PS1="\u@\h:\w$ "

Essa configuração define o prompt para exibir o nome do usuário, hostname e diretório atual.

3. Definir variáveis e outras configurações:

export PATH="$HOME/bin:$PATH"

Aqui, adicionamos o diretório ~/bin ao PATH do usuário.

O arquivo ~/.bash_logout

O arquivo ~/.bash_logout é executado quando uma sessão de login do Bash é encerrada. Esse arquivo é útil para comandos ou scripts que se deseja executar automaticamente ao sair de uma sessão, como limpar temporários ou fechar programas em segundo plano.

Exemplo de configuração:

# Limpar a tela ao sair da sessão
clear

Nesse exemplo, a tela é automaticamente limpa ao encerrar a sessão, deixando o terminal sem informações residuais.

Resumo das diferenças dos arquivos de configuração do Bash

  • /etc/profile: Configuração global para sessões de login, acessível a todos os usuários.
  • ~/.profile: Configuração específica do usuário para sessões de login, usada para personalizações individuais.
  • /etc/bash.bashrc: Configuração global para sessões interativas não-login.
  • ~/.bashrc: Configuração específica do usuário para sessões interativas não-login.
  • ~/.bash_logout: Executado ao encerrar uma sessão de login do Bash, permitindo ações ao logout.

É isso aí! Caso necessite de mais detalhes, assista ao vídeo a seguir da Bóson Treinamentos sobre arquivos de configuração do Bash.

Sobre Fábio dos Reis (1226 Artigos)
Fábio dos Reis trabalha com tecnologias variadas há mais de 30 anos, tendo atuado nos campos de Eletrônica, Telecomunicações, Programação de Computadores e Redes de Dados. É um entusiasta de Ciência e Tecnologia em geral, adora Viagens e Música, e estuda idiomas, além de ministrar cursos e palestras sobre diversas tecnologias em São Paulo e outras cidades do Brasil.

2 Comentários em Shell Scripting – Arquivos de Configuração profile, bashrc e outros – 05

  1. gosto muito das sua aula ,admiro seus ensinamentos que abre bem minha mente

  2. Emerson Cesconetto // 28/03/2022 em 20:45 // Responder

    Parabéns pelo blog riquíssimo em material, suas aulas são bem didáticas e quase nunca ficam dúvidas. No caso desta aula, não é bem uma dúvida, é mais uma observação: o vídeo é o mesmo da aula 4.
    Mais uma vez parabéns e muito obrigado.

Escreva um comentário

Seu e-mail não será divulgado


*