Product SiteDocumentation Site

8.6. Ambiente Shell

Interpretadores de comandos (ou shells) podem ser o primeiro ponto de contato do usuário com o computador, e eles devem portanto ser bastante amigáveis. a maioria deles usa scripts de inicialização que permitem a configuração de seus comportamentos (completação automática, texto de prompt, etc).
bash, o shell padrão, usa o script de inicialização /etc/bash.bashrc para shells "interativos", e o /etc/profile para shells de "login".
Em termos simples, um shell de login é invocado quando você se autentica (log in) no console tanto localmente quanto remotamente via ssh, ou quando você executa um comando bash --login explicitamente. Independente de ser um shell de login ou não, um shell pode ser interativo (num terminal estilo xterm, por exemplo); ou não-interativo (quando executando um script).
Para bash, é útil instalar e ativar a “terminação automática”. O pacote bash-completion contém estas terminações para a maioria dos programas comuns e geralmente habilita-se se o usuário do arquivo de configuração .bashrc copiou-se de /etc/skel/.bashrc. Caso contrário pode-se ativar através de /etc/bash.bashrc (simplesmente descomentando algumas linhas) ou /etc/profile.
Em adição a esses scripts comuns, cada usuário pode criar seu próprio ~/.bashrc e ~/.bash_profile para configurar seu shell. As mudanças mais comuns são a adição de "aliases"; palavras que são automaticamente substituídas com a execução de um comando, o que agiliza a invocação desse comando. Por exemplo, você poderia criar o "alias" la para o comando ls -la | less; assim você tem apenas que digitar la para inspecionar o conteúdo do diretório detalhadamente. Perceba que o shell precisa ser reiniciado depois de adicionar uma nova "alias", e.g. iniciando um novo shell.
Definir as variáveis de ambiente padrão é um elemento importante da configuração do shell. Deixando de lado as variáveis específicas do shell, é preferível colocar as variáveis para todo o sistema no arquivo /etc/environment, já que ele é usado por vários programas passíveis de iniciar uma sessão do shell. Variáveis tipicamente definidas lá incluem ORGANIZATION, a qual usualmente contém o nome da companhia ou organização, e HTTP_PROXY, a qual indica a existência e localização de um proxy HTTP. Outras opções incluem configurar variáveis para todo o sistema via scripts em /etc/profile.d, ou vairáveis para todo o sistema via .pam_environment ou .profile, onde este último pode ser sobreescrito contendo o primeiro. O arquivo /etc/default/locale serve para conter variáveis de ambiente relacionadas a locales para todo o sistema.