Como definir e não definir variáveis ​​de ambiente local, do usuário e do sistema

Como definir e não definir variáveis ​​de ambiente local, do usuário e do sistema

variáveis ​​ambientais são algumas variáveis ​​especiais que são definidas no shell e são necessárias por programas durante a execução. Eles podem ser definidos pelo sistema ou definido pelo usuário. Variáveis ​​definidas pelo sistema são aquelas que são definidas por sistema e usadas por programas de nível do sistema.

Variáveis ​​de ambiente Linux definidas e não definidas

Para e.g. O comando PWD é uma variável de sistema muito comum que é usada para armazenar o atual diretório de trabalho. As variáveis ​​definidas pelo usuário são normalmente definidas pelo usuário, temporariamente para o shell atual ou permanentemente. Todo o conceito de definição e desativação de variáveis ​​de ambiente gira em torno de algum conjunto de arquivos e poucos comandos e diferentes conchas.

Em termos mais amplos, uma variável de ambiente pode estar em três tipos:

1. Variável de ambiente local

Um definido para a sessão atual. Essas variáveis ​​de ambiente duram apenas até a sessão atual, seja sessão de login remota ou sessão de terminal local. Essas variáveis ​​não são especificadas em nenhum arquivo de configuração e são criadas e removidas usando um conjunto especial de comandos.

2. Variável do ambiente do usuário

Essas são as variáveis ​​definidas para um usuário em particular e são carregadas sempre que um usuário faz login usando uma sessão de terminal local ou que o usuário está conectado ao usar sessão de login remoto. Essas variáveis ​​geralmente são definidas e carregadas a partir dos seguintes arquivos de configuração: .Bashrc, .Bash_profile, .Bash_login, .perfil arquivos que estão presentes no diretório inicial do usuário.

3. Variáveis ​​de ambiente amplo do sistema

Essas são as variáveis ​​de ambiente que estão disponíveis em todo o sistema, i.e. Para todos os usuários presentes nesse sistema. Essas variáveis ​​estão presentes nos arquivos de configuração em todo o sistema presentes nos seguintes diretórios e arquivos: /etc/ambiente, /etc/perfil, /etc/perfil.d/, /etc/bash.Bashrc. Essas variáveis ​​são carregadas sempre que o sistema é ligado e registrado local ou remotamente por qualquer usuário.

Entendendo os arquivos de configuração em todo o usuário e em todo o sistema

Aqui, descrevemos brevemente vários arquivos de configuração listados acima que mantêm variáveis ​​de ambiente, em ampla ou específicas do sistema ou específicas do usuário.

.Bashrc

Este arquivo é um arquivo específico do usuário que é carregado cada vez que o usuário cria uma nova sessão local i.e. Em palavras simples, abre um novo terminal. Todas as variáveis ​​de ambiente criadas neste arquivo entrariam em vigor toda vez que uma nova sessão local é iniciada.

.Bash_profile

Este arquivo é um arquivo de login remoto específico do usuário. Variáveis ​​de ambiente listadas neste arquivo são chamadas toda vez que o usuário estiver conectado remotamente i.e. usando sessão ssh. Se este arquivo não estiver presente, o sistema procurar .Bash_login ou .perfil arquivos.

/etc/ambiente

Este arquivo é um arquivo amplo do sistema para criar, editar ou remover quaisquer variáveis ​​de ambiente. As variáveis ​​de ambiente criadas neste arquivo são acessíveis em todo o sistema, por cada usuário, local e remotamente.

/etc/bash.Bashrc

No âmbito do sistema Bashrc arquivo. Este arquivo é carregado uma vez para cada usuário, cada vez que o usuário abre uma sessão de terminal local. Variáveis ​​de ambiente criadas neste arquivo são acessíveis para todos os usuários, mas apenas através da sessão do terminal local. Quando qualquer usuário nessa máquina é acessado remotamente por meio de uma sessão de login remoto, essas variáveis ​​não seriam visíveis.

/etc/perfil

Arquivo de perfil amplo do sistema. Todas as variáveis ​​criadas neste arquivo são acessíveis por todos os usuários do sistema, mas somente se a sessão desse usuário for invocada remotamente, eu.e. via login remoto. Qualquer variável neste arquivo não estará acessível para a sessão de login local i.e. Quando o usuário abre um novo terminal em seu sistema local.

Observação: Variáveis ​​de ambiente criadas usando No âmbito do sistema ou em todo o usuário Os arquivos de configuração podem ser removidos removendo -os apenas desses arquivos. Apenas depois de cada alteração nesses arquivos, faça logon e faça o login novamente ou apenas digite o comando seguinte no terminal para alterações para entrar em vigor:

$ fonte  

Variáveis ​​ambientais locais ou não definidas em toda a sessão no Linux

Variáveis ​​de ambiente local pode ser criado usando os seguintes comandos:

$ var = valor ou $ export var = valor 

Essas variáveis ​​são amplas e são válidas apenas para a sessão do terminal atual. Para limpar essas variáveis ​​de ambiente em toda a sessão, podem ser usados ​​com comandos:

1. Usando Env

Por padrão, "Env" O comando lista todas as variáveis ​​de ambiente atuais. Mas, se usado com '-eu' Switch, ele limpa temporariamente todas as variáveis ​​de ambiente e permite que o usuário execute um comando na sessão atual na ausência de todas as variáveis ​​de ambiente.

$ Env -i [var = value]… comando args… 

Aqui, var = valor corresponde a qualquer variável de ambiente local que você deseja usar apenas com este comando.

$ Env -i Bash 

Dará a Bash Shell que temporariamente não teria nenhuma variável de ambiente. Mas, quando você sai da concha, todas as variáveis ​​seriam restauradas.

2. Usando unset

Outra maneira de limpar a variável de ambiente local é usando o comando unset. Para desencadear qualquer variável de ambiente local temporariamente,

$ desmembrado  

Onde, var-name é o nome da variável local que você deseja não definir ou limpar.

3. Defina o nome da variável para ”

Outra maneira menos comum seria definir o nome da variável que você deseja limpar, para " (Vazio). Isso limparia o valor da variável local para a sessão atual para a qual está ativa.

OBSERVAÇÃO - Você pode até brincar e alterar os valores das variáveis ​​do sistema ou do ambiente do usuário, mas as mudanças refletiriam apenas na sessão do terminal atual e não seria permanente.

Aprenda a criar variáveis ​​de ambiente em todo o usuário e em todo o sistema no Linux

Na seção, vamos aprender a definir ou não definir variáveis ​​de ambiente local, de usuário e de sistema em Linux com exemplos abaixo:

1. Variáveis ​​locais definidas e não definidas no Linux

a.) Aqui, criamos uma variável local VAR1 e defina -o para qualquer valor. Em seguida, usamos Unset para remover essa variável local e, no final, essa variável é removida.

$ Var1 = "Tecmint é o melhor site para artigos Linux" $ echo $ var1 $ unset var1 $ echo $ var1 
Defina variáveis ​​de ambiente local não definidas

b.) Outra maneira de criar uma variável local é usando exportar comando. A variável local criada estará disponível para a sessão atual. Para despertar a variável, basta definir o valor da variável como ".

$ export var = "Tecmint é o melhor site para artigos Linux" $ echo $ var $ var = $ echo $ var 
Exportar variáveis ​​de ambiente local no Linux

c.) Aqui, criamos uma variável local VAR2 e defina -o como um valor. Em seguida, em ordem para executar um comando limpando temporariamente todas as variáveis ​​locais e outras variáveis ​​de ambiente, executamos 'Env -i' comando. Este comando aqui executou o Bash Shell limpando todas as outras variáveis ​​de ambiente. Depois de entrar 'saída' Na casca de bash invocada, todas as variáveis ​​seriam restauradas.

$ Var2 = "Tecmint é o melhor site para artigos de Linux" $ echo $ var2 $ Env -i Bash $ echo $ var2 
Use Env comando para não definir variáveis

2. Definir e não definir variáveis ​​de ambiente em todo o usuário no Linux

a.) Modificar .Bashrc Arquive em seu diretório doméstico para exportar ou definir a variável de ambiente que você precisa adicionar. Depois disso fonte o arquivo, para fazer as alterações entrarem em vigor. Então você veria a variável ('CD' no meu caso), entrando em vigor. Essa variável estará disponível toda vez que você abrir um novo terminal para este usuário, mas não para sessões de login remotas.

$ VI .Bashrc 

Adicione a seguinte linha a .Bashrc arquivo na parte inferior.

exportar CD = "Esta é a casa de Tecmint" 

Agora execute o seguinte comando para fazer novas alterações e testá -lo.

$ fonte .Bashrc $ eco $ CD 
Defina variáveis ​​de ambiente em todo o usuário no Linux

Para remover esta variável, basta remover a seguinte linha em .Bashrc Arquive e reenvie-o:

b.) Para adicionar uma variável que estará disponível para sessões de login remotas (i.e. Quando você ssh para o usuário do sistema remoto), modifique .Bash_profile arquivo.

$ VI .Bash_profile 

Adicione a seguinte linha a .Bash_profile arquivo na parte inferior.

exportar var2 = "Esta é a casa de Tecmint" 

Ao adquirir esse arquivo, a variável estará disponível quando você SSH para este usuário, mas não na abertura de nenhum novo terminal local.

$ fonte .BASH_PROFILE $ ECHO $ ​​VAR2 

Aqui, VAR2 não está disponível inicialmente, mas, ao fazer ssh para usuário no host local, a variável fica disponível.

$ ssh [email protegido] $ echo $ var2 
Exportar variáveis ​​amplas do usuário no perfil de bash

Para remover esta variável, basta remover a linha em .Bash_profile Arquivo que você adicionou e re-souça o arquivo.

OBSERVAÇÃO: Essas variáveis ​​estarão disponíveis sempre que você estiver conectado ao usuário atual, mas não para outros usuários.

3. Variáveis ​​de ambiente definidas e não definidas em todo o sistema no Linux

a.) Para adicionar variável sem logina do sistema (i.e. um que está disponível para todos os usuários quando qualquer um deles abre um novo terminal, mas não quando qualquer usuário de máquina é acessado remotamente) Adicione a variável a /etc/bash.Bashrc arquivo.

exportar var = "Esta é a variável em todo o sistema" 
Adicionar variáveis ​​de ambiente amplo do sistema

Depois disso, obtenha o arquivo.

$ fonte /etc /bash.Bashrc 

Agora essa variável estará disponível para todos os usuários quando ele abrir qualquer novo terminal.

$ echo $ var $ sudo su $ echo $ var $ su - $ echo $ var 
Verifique as variáveis ​​amplas do sistema

Aqui, a mesma variável está disponível para raiz usuário e usuário normal. Você pode verificar isso fazendo login em outro usuário.

b.) Se você deseja que qualquer variável de ambiente esteja disponível quando um dos usuários da sua máquina estiver conectado remotamente, mas não para abrir nenhum novo terminal na máquina local, você precisa editar o arquivo - '/etc/perfil'.

exportar var1 = "Esta é uma variável em todo o sistema apenas para sessões remotas" 
Adicione variáveis ​​amplas do sistema no perfil

Depois de adicionar a variável, basta reesto o arquivo. Então a variável estaria disponível.

$ fonte /etc /perfil $ echo $ var1 

Para remover esta variável, remova a linha de /etc/perfil Arquive e reenvie-o.

c.) No entanto, se você deseja adicionar qualquer ambiente que deseja estar disponível em todo o sistema, em ambas as sessões de login remota e em sessões locais (i.e. abrindo uma nova janela do terminal) para todos os usuários, basta exportar a variável em /etc/ambiente arquivo.

exportar var12 = "Estou disponível em todos os lugares" 
Adicionar variável do sistema no arquivo de ambiente

Depois disso, basta adquirir o arquivo e as mudanças entrariam em vigor.

$ fonte /etc /ambiente $ echo $ var12 $ sudo su $ echo $ var12 $ saída $ ssh localhost $ echo $ var12 
Verifique a variável do ambiente para todos os usuários

Aqui, como vemos, a variável de ambiente está disponível para usuário normal, usuário root, bem como na sessão de login remota (aqui, para LocalHost).

Para limpar essa variável, basta remover a entrada no /etc/ambiente Arquive e reenvie-o ou faça login novamente.

OBSERVAÇÃO: Mudanças entram em vigor quando você obtém o arquivo. Mas, se não, então você pode precisar fazer login e fazer login novamente.

Conclusão

Assim, essas são poucas maneiras de modificar as variáveis ​​de ambiente. Se você encontrar truques novos e interessantes para o mesmo mencionar em seus comentários.