Índice
1. O conceito de variáveis de ambiente
1. O significado das variáveis de ambiente
2. Classificação das variáveis de ambiente
3. Variáveis de ambiente Linux
Duas variáveis de ambiente comumente usadas
1. Ver variáveis de ambiente
1) comando env: Visualize todas as variáveis de ambiente do usuário atual.
2. Variáveis de ambiente comuns
3. Defina variáveis de ambiente
1. Variáveis de ambiente do sistema
1) Defina no arquivo /etc/profile.
3) Defina as variáveis de ambiente no arquivo /etc/bashrc.
2. Variáveis de ambiente do usuário
1).bash_profile (primeira escolha recomendada)
3. Sequência de execução de arquivos de script de variável de ambiente
4. Explicação detalhada das variáveis ambientais importantes
2) PATH contém o diretório onde o comando do sistema Linux está localizado por padrão
3) No arquivo .bash_profile do usuário, o PATH será expandido,
3. Variável de ambiente LD_LIBRARY_PATH
5. Eficácia das variáveis de ambiente
7. Declaração de direitos autorais
1. O conceito de variáveis de ambiente
1. O significado das variáveis de ambiente
A execução de programas (comandos e aplicativos do sistema operacional) requer um ambiente de execução, que é composto por múltiplas variáveis de ambiente.
2. Classificação das variáveis de ambiente
1) Classificados de acordo com o escopo efetivo.
Variáveis de ambiente do sistema : públicas, válidas para todos os usuários.
Variáveis de ambiente do usuário : configurações personalizadas e privadas do usuário, que só têm efeito para este usuário.
2) Classificados por ciclo de vida.
Variável de ambiente permanente : Configurados no arquivo de script da variável de ambiente, esses scripts serão executados automaticamente toda vez que o usuário fizer login, o que equivale a efeito permanente.
Variável de ambiente temporária : temporariamente definida no shell quando usada e torna-se inválida após sair do shell.
3. Variáveis de ambiente Linux
As variáveis de ambiente Linux também são chamadas de variáveis de ambiente Shell. Elas começam com um sublinhado e uma letra e são compostas por sublinhados, letras (diferenciam maiúsculas de minúsculas) e números. É comum usar letras maiúsculas, como PATH, HOSTNAME, LANG, etc. .
Duas variáveis de ambiente comumente usadas
1. Ver variáveis de ambiente
1) comando env: Visualize todas as variáveis de ambiente do usuário atual.
No Shell, use o comando env para visualizar todas as variáveis de ambiente do usuário atual.
env
A figura acima captura apenas algumas das variáveis de ambiente, não todas elas.
Ao usar o comando env, muitas variáveis de ambiente são exibidas na tela, o que é inconveniente de visualizar e pode ser filtrado pelo grep.
env|grep 环境变量名
Por exemplo, observe as variáveis de ambiente que contêm PATH no nome da variável de ambiente.
env|grep PATH
2) comando echo: Visualize todas as variáveis de ambiente do usuário atual, não pode faltar o símbolo $.
echo $环境变量名
Observe que não pode faltar o símbolo $, que é um requisito gramatical.
2. Variáveis de ambiente comuns
1)CAMINHO
O diretório de pesquisa para programas executáveis. Os programas executáveis incluem comandos do sistema Linux e aplicativos de usuário. O uso específico da variável PATH é descrito em detalhes nos capítulos seguintes deste artigo.
2) IDIOMA
O idioma, a região, o conjunto de caracteres do sistema Linux e o uso específico da variável LANG são apresentados em detalhes nos próximos capítulos deste artigo.
3) HOSTNAME
O nome do host do servidor.
4)CASCA
O analisador de shell atualmente usado pelo usuário.
5)HISTSIZE
O número de comandos históricos a serem salvos.
6) USUÁRIO
O nome de usuário do usuário conectado no momento.
7)CASA
O diretório inicial do usuário conectado no momento.
8)PWD
diretório de trabalho atual.
9)LD_LIBRARY_PATH
O diretório pesquisado pelo arquivo de biblioteca de vínculo dinâmico da linguagem C/C++ não é uma variável de ambiente padrão do Linux, mas é muito importante para programadores C/C++.O uso específico é descrito em detalhes nos capítulos posteriores neste artigo.
10) CLASSPATH
O diretório pesquisado pelo arquivo da biblioteca de linguagem JAVA não é uma variável de ambiente padrão do Linux, mas é muito importante para programadores JAVA.O uso específico é descrito em detalhes nos próximos capítulos deste artigo.
3. Defina variáveis de ambiente
变量名='值'
export 变量名
ou
export 变量名='值'
Se o valor da variável de ambiente não tiver símbolos especiais, como espaços, pode ser incluído sem aspas simples.
Exemplo:
export ORACLE_HOME=/oracle/home
export ORACLE_BASE=/oracle/base
export ORACLE_SID=snorcl11g
export NLS_LANG='Simplified Chinese_China.ZHS16GBK'
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin:.
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:.
As variáveis de ambiente definidas por export se tornarão inválidas após sair do shell e precisarão ser redefinidas na próxima vez que fizer login. Se você deseja que a variável de ambiente entre em vigor permanentemente, é necessário configurá-la no arquivo de login script.
1. Variáveis de ambiente do sistema
As variáveis de ambiente do sistema entram em vigor para todos os usuários.Existem três maneiras de definir as variáveis de ambiente do sistema.
1) Defina no arquivo /etc/profile.
Quando o usuário efetuar login, execute o arquivo /etc/profile para definir as variáveis de ambiente do sistema. No entanto, o Linux não recomenda definir variáveis de ambiente do sistema no arquivo /etc/profile.
2) Adicione um arquivo de script de variável de ambiente no diretório /etc/profile.d, que é o método recomendado pelo Linux.
/etc/profile executará todos os arquivos de script em /etc/profile.d toda vez que for iniciado . /etc/profile.d é mais fácil de manter do que /etc/profile. Se você não quiser nenhuma variável, apenas exclua o shell script correspondente em /etc/profile.d.
Existem muitos arquivos de script no diretório /etc/profile.d, por exemplo:
No exemplo acima, oracle.sh no diretório /etc/profile.d é o arquivo de configuração da variável de ambiente do banco de dados Oracle e o conteúdo é o seguinte:
3) Defina as variáveis de ambiente no arquivo /etc/bashrc.
As variáveis de ambiente configuradas neste arquivo afetarão o bash shell usado por todos os usuários. No entanto, o Linux não recomenda definir variáveis de ambiente do sistema no arquivo /etc/bashrc.
2. Variáveis de ambiente do usuário
As variáveis de ambiente do usuário só têm efeito para o usuário atual e há muitas maneiras de definir as variáveis de ambiente do usuário.
No diretório inicial do usuário, existem vários arquivos especiais que são ls
invisíveis para os usuários, mas visíveis para os usuários . ls .bash_*
1).bash_profile (primeira escolha recomendada)
Executado no login do usuário, cada usuário pode utilizar este arquivo para configurar suas próprias variáveis de ambiente.
2).bashrc
Este arquivo será lido quando o usuário fizer o login e toda vez que um novo shell for aberto. Não é recomendado configurar variáveis de ambiente específicas do usuário nele, pois o arquivo será lido toda vez que um shell for aberto, e a eficiência será definitivamente ser afetado.
3).bash_logout
Este arquivo é executado toda vez que o sistema sai (sai do bash shell).
4).bash_history
Os comandos históricos usados pelo usuário atual são salvos.
3. Sequência de execução de arquivos de script de variável de ambiente
A sequência de execução do arquivo de script da variável de ambiente é a seguinte:
/etc/profile->/etc/profile.d->/etc/bashrc->用户的.bash_profile->用户的.bashrc
Para variáveis de ambiente com o mesmo nome, se houver configurações em vários scripts, prevalecerá a configuração do último script executado.
Há outro problema que precisa de atenção. O script de /etc/profile.d é executado em /etc/profile . O código é o seguinte:
for i in /etc/profile.d/*.sh ; do
if [ -r "$i" ]; then
if [ "${-#*i}" != "$-" ]; then
. "$i"
else
. "$i" >/dev/null
fi
fi
done
Portanto, a ordem de execução de /etc/profile.d e /etc/profile depende de como o código é escrito.
4. Explicação detalhada das variáveis ambientais importantes
1. Variável de ambiente PATH
Diretório de pesquisa para programas executáveis, que incluem comandos do sistema Linux e aplicativos do usuário. Se o diretório do programa executável não estiver no diretório especificado por PATH, você precisará especificar o diretório ao executá-lo.
1) A variável de ambiente PATH armazena uma lista de diretórios, e os diretórios são separados por dois pontos:, e o último ponto representa o diretório atual.
export PATH=目录1:目录2:目录3:......目录n:.
2) PATH contém o diretório onde o comando do sistema Linux está localizado por padrão
(/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin), se esses diretórios não estiverem incluídos, os comandos comuns do Linux não poderão ser executados (você deve inserir um caminho absoluto para executar).
Exemplo:
3) No arquivo .bash_profile do usuário, o PATH será expandido,
do seguinte modo:
export PATH=$PATH:$HOME/bin
4) Se o ponto não estiver incluído na variável PATH, você precisa adicionar ./ ou usar um caminho absoluto para executar o programa no diretório atual.
Exemplo:
2. Variável de ambiente LAN
A variável de ambiente LANG armazena o idioma, a região e o conjunto de caracteres do sistema Linux. Ela não precisa ser definida manualmente pelo administrador do sistema. /etc/ profile chamará o script /etc/profile.d/lang.sh para conclua a configuração de PATH .
O arquivo de configuração do conjunto de caracteres CentOS6.x está no arquivo /etc/syscconfig/i18n.
O arquivo de configuração do conjunto de caracteres .x do CentOS7 está no arquivo /etc/locale.conf e o conteúdo é o seguinte:
3. Variável de ambiente LD_LIBRARY_PATH
O diretório pesquisado pelo arquivo de biblioteca de vínculo dinâmico da linguagem C/C++. Não é uma variável de ambiente padrão do Linux, mas é muito importante para programadores C/C++.
A variável de ambiente LD_LIBRARY_PATH também armazena uma lista de diretórios, os diretórios são separados por dois pontos:, e o último ponto representa o diretório atual, que está no mesmo formato de PATH.
export LD_LIBRARY_PATH=目录1:目录2:目录3:......目录n:.
4、CLASSPATH
O diretório que o arquivo da biblioteca de linguagem JAVA pesquisa não é uma variável de ambiente padrão para Linux, mas é muito importante para programadores JAVA.
A variável de ambiente CLASSPATH também armazena uma lista de diretórios.Os diretórios são separados por dois pontos:, e o último ponto representa o diretório atual, que está no mesmo formato de PATH.
5. Eficácia das variáveis de ambiente
1) No shell, a variável de ambiente definida por export entra em vigor imediatamente no shell atual e se torna inválida após a saída do shell.
2) A variável de ambiente definida no arquivo de script não terá efeito imediato, só terá efeito após sair do Shell e efetuar login novamente, ou use o comando source para que tenha efeito imediato,
Por exemplo:
source /etc/profile
6. Experiência de aplicação
Embora existam muitas maneiras de definir variáveis de ambiente, é recomendável que as variáveis de ambiente do sistema sejam configuradas no diretório /etc/profile.d e as variáveis de ambiente do usuário sejam configuradas no .bash_profile do usuário. Aumenta o problema de operação e manutenção, erro -propenso
7. Declaração de direitos autorais
C language technology network artigo original, reproduzido favor explicar a fonte do artigo, o autor e o link do texto original.
Fonte: C Language Technology Network (www.freecplus.net)
Autor: Code Nong Youdao
-------------------------------------------------- -------Sem texto abaixo---------------------------------------- --------------
Nota: Apenas para estudo, registre perguntas e referências, encorajem-se uns aos outros!
Artigo de referência:
1. Variáveis de ambiente definidas do CentOS7_C blog de tecnologia prática de linguagem C-blog CSDN
2. Três maneiras de definir variáveis de ambiente no centos