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.