Como definir e não definir variáveis de ambiente local, do usuário e do sistema
- 806
- 120
- Spencer Emard
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 definidasPara 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 $ var1Defina 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 $ varExportar 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 $ var2Use 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 $ CDDefina 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 $ var2Exportar 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 $ varVerifique 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 $ var12Verifique 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.
- « 8 Comandos 'separados' do Linux para criar, redimensionar e resgatar partições de disco
- Como otimizar e comprimir imagens JPEG ou PNG no Linux CommandLine »