<Anterior | Conteúdo | Próxima>
Consulte o Capítulo 9 para obter mais informações sobre a compactação real de arquivos e exemplos de como fazer arquivos.
7.2 Seu ambiente de texto
7.2.1. Variáveis de ambiente
7.2.1.1. Geral
Já mencionamos algumas variáveis de ambiente, como PATH e INICIO. Até agora, vimos apenas exemplos em que eles servem a um determinado propósito para o shell. Mas existem muitos outros utilitários do Linux que precisam de informações sobre você para fazer um bom trabalho.
De que outras informações os programas precisam, além de caminhos e diretórios pessoais?
Muitos programas querem saber sobre o tipo de terminal que você está usando; esta informação é armazenada no PRAZO variável. No modo de texto, este será o linux emulação de terminal, no modo gráfico, você provavelmente usará xterm. Muitos programas querem saber qual é o seu editor favorito, caso precisem iniciar um editor em um subprocesso. O shell que você está usando está armazenado no SHELL variável, o tipo de sistema operacional em OS e assim por diante. Uma lista de todas as variáveis atualmente definidas para a sua sessão pode ser visualizada inserindo o printenv comando.
As variáveis de ambiente são gerenciadas pelo shell. Ao contrário das variáveis de shell regulares, as variáveis de ambiente são herdadas por qualquer programa que você iniciar, incluindo outro shell. Novos processos recebem uma cópia dessas variáveis, que eles podem ler, modificar e passar adiante para seus próprios processos filhos.
Não há nada de especial nos nomes de variáveis, exceto que os comuns estão em letras maiúsculas por convenção. Você pode encontrar o nome que quiser, embora existam variáveis padrão que são
importante o suficiente para ser o mesmo em todos os sistemas Linux, como PATH e INICIO.
7.2.1.2. Exportando variáveis
O conteúdo de uma variável individual é geralmente exibido usando o eco comando, como nestes exemplos:
debby: ~> echo $ PATH
/ usr / bin: / usr / sbin: / bin: / sbin: / usr / X11R6 / bin: / usr / local / bin
debby: ~> echo $ MANPATH
/ usr / man: / usr / share / man /: / usr / local / man: / usr / X11R6 / man
debby: ~> echo $ PATH
/ usr / bin: / usr / sbin: / bin: / sbin: / usr / X11R6 / bin: / usr / local / bin
debby: ~> echo $ MANPATH
/ usr / man: / usr / share / man /: / usr / local / man: / usr / X11R6 / man
Se você deseja alterar o conteúdo de uma variável de uma forma que seja útil para outros programas, você deve exportar o novo valor de seu ambiente para o ambiente que executa esses programas. Um exemplo comum é exportar o PATH variável. Você pode declará-lo da seguinte forma, a fim de ser capaz de jogar com o software de simulador de vôo que está em / opt / FlightGear / bin:
debby: ~> PATH = $ PATH: / opt / FlightGear / bin Isso instrui o shell a não apenas pesquisar programas no caminho atual, $ PATH, mas também no diretório adicional / opt / FlightGear / bin.
No entanto, desde que o novo valor do PATH variável não é conhecida pelo ambiente, as coisas ainda não funcionarão:
debby: ~> runfgfs
bash: runfgfs: comando não encontrado
debby: ~> runfgfs
bash: runfgfs: comando não encontrado
A exportação de variáveis é feita usando o comando interno do shell exportar:
debby: ~> exportar PATH
debby: ~> runfgfs
--inicia o simulador de vôo--
debby: ~> exportar PATH
debby: ~> runfgfs
--inicia o simulador de vôo--
No Bash, normalmente fazemos isso em uma etapa elegante:
exportar VARIÁVEL=valor
A mesma técnica é usada para o MANPATH variável, que diz ao homem comando onde procurar páginas de manual compactadas. Se um novo software for adicionado ao sistema em diretórios novos ou incomuns, a documentação para ele provavelmente também estará em um diretório incomum. Se você quiser ler as páginas de manual do novo software, estenda o MANPATH variável:
debby: ~> export MANPATH = $ MANPATH: / opt / FlightGear / man
debby: ~> echo $ MANPATH
/ usr / man: / usr / share / man: / usr / local / man: / usr / X11R6 / man: / opt / FlightGear / man
debby: ~> export MANPATH = $ MANPATH: / opt / FlightGear / man
debby: ~> echo $ MANPATH
/ usr / man: / usr / share / man: / usr / local / man: / usr / X11R6 / man: / opt / FlightGear / man
Você pode evitar redigitar este comando em todas as janelas que abrir, adicionando-o a um de seus arquivos de configuração de shell, consulte a Seção 7.2.2.
7.2.1.3. Variáveis reservadas
A tabela a seguir fornece uma visão geral das variáveis predefinidas mais comuns:
Tabela 7-1. Variáveis de ambiente comuns
Nome variável | Informação armazenada |
DISPLAY | usado pelo sistema X Window para identificar o servidor de exibição |
DOMÍNIO | nome de domínio |
EDITOR | armazena seu editor de linha favorito |
HISTORIAR | tamanho do arquivo de histórico do shell em número de linhas |
INICIO | caminho para o seu diretório home |
NOME DE ANFITRIÃO | nome do host local |
ENTRADA | localização do arquivo de definição para dispositivos de entrada, como teclado |
GRANDE | língua preferida |
LD_LIBRARY_PATH | caminhos para procurar bibliotecas |
NOME DO LOG | Nome de acesso |
localização de sua pasta de mensagens recebidas | |
MANPATH | caminhos para pesquisar por páginas de manual |
OS | string que descreve o sistema operacional |
OSTIPO | mais informações sobre a versão etc. |
PAGER | usado por programas como homem que precisa saber o que fazer no caso de a saída ser mais de uma janela de terminal. |
PATH | caminhos de busca para comandos |
PS1 | prompt primário |
PS2 | prompt secundário |
PWD | presente diretório de trabalho |
SHELL | escudo atual |
PRAZO | tipo de terminal |
UID | ID do usuário |
NOME DO USUÁRIO) | nome de usuário |
VISUAL | seu editor de tela cheia favorito |
XAMBIENTE | localização de suas configurações pessoais para o comportamento X |
XFILESEARCHPATH | caminhos para procurar bibliotecas gráficas |
Muitas variáveis não são apenas predefinidas, mas também predefinidas, usando arquivos de configuração. Discutiremos isso na próxima seção.
7.2.2. Arquivos de configuração de shell
Ao entrar no ls -al para obter uma longa lista de todos os arquivos, incluindo aqueles que começam com um ponto, em seu diretório inicial, você verá um ou mais arquivos começando com a. e terminando em rc. Para o caso de bater, É .bashrc. Esta é a contraparte do arquivo de configuração de todo o sistema / Etc / bashrc.
Ao fazer login em um shell de login interativo, entrar fará a autenticação, definirá o ambiente e iniciará seu shell. No caso de bater, a próxima etapa é ler o geral profile da / Etc, se esse arquivo existir. bater então procura por ~ / .bash_profile, ~ / .bash_login e ~ / .profile, nessa ordem, e lê e executa comandos do primeiro que existe e é legível. Se nenhum existe, / Etc / bashrc é aplicado.