variáveis ambientais são algumas variáveis especiais que são definidas no shell e são necessárias para os programas durante a execução. Eles podem ser definidos pelo sistema ou pelo usuário. As variáveis definidas pelo sistema são aquelas definidas pelo sistema e usadas pelos programas de nível de sistema.
Por ex. PWD comando é uma variável de sistema muito comum que é usada para armazenar o diretório de trabalho atual. 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 configuração e não configuração de variáveis de ambiente gira em torno de algum conjunto de arquivos e poucos comandos e diferentes shells.
Em termos mais amplos, uma variável de ambiente pode ser de três tipos:
Um definido para a sessão atual. Essas variáveis de ambiente duram apenas até a sessão atual, seja uma sessão de login remoto ou uma 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.
Estas são as variáveis que são definidas para um determinado usuário e são carregadas toda vez que um usuário faz login usando uma sessão de terminal local ou esse usuário faz login usando uma sessão de login remota. Essas variáveis são normalmente 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.
Essas são as variáveis de ambiente que estão disponíveis em todo o sistema, ou seja, para todos os usuários presentes nesse sistema. Essas variáveis estão presentes em arquivos de configuração de todo o sistema, presentes nos seguintes diretórios e arquivos: /etc/environment
, /etc/profile
, /etc/profile.d/
, /etc/bash.bashrc
. Essas variáveis são carregadas sempre que o sistema é ligado e conectado local ou remotamente por qualquer usuário.
Aqui, descrevemos resumidamente vários arquivos de configuração listados acima que contêm variáveis de ambiente, tanto do sistema quanto específicas do usuário.
Este arquivo é um arquivo específico do usuário que é carregado cada vez que o usuário cria uma nova sessão local, ou seja, em palavras simples, abre um novo terminal. Todas as variáveis de ambiente criadas neste arquivo entrariam em vigor sempre que uma nova sessão local fosse iniciada.
Este arquivo é um arquivo de login remoto específico do usuário. As variáveis de ambiente listadas neste arquivo são chamadas sempre que o usuário está conectado remotamente, ou seja, usando a sessão ssh. Se este arquivo não estiver presente, o sistema procura por um .bash_login
ou .perfil
arquivos.
Este arquivo é um arquivo de todo o 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 um dos usuários, tanto local quanto remotamente.
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. As variáveis de ambiente criadas neste arquivo podem ser acessadas por todos os usuários, mas apenas por meio da sessão de terminal local. Quando qualquer usuário dessa máquina for acessado remotamente por meio de uma sessão de login remota, essas variáveis não serão visíveis.
Arquivo de perfil de todo o sistema. Todas as variáveis criadas neste arquivo podem ser acessadas por todos os usuários do sistema, mas apenas se a sessão desse usuário for chamada remotamente, ou seja, por meio de login remoto. Qualquer variável neste arquivo não estará acessível para a sessão de login local, ou seja, 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. Depois de cada alteração nesses arquivos, saia e faça login novamente ou simplesmente digite o seguinte comando no terminal para que as alterações tenham efeito:
$ source
Variáveis de Ambiente Local pode ser criado usando os seguintes comandos:
$ var = valor OR. $ export var = value.
Essas variáveis abrangem toda a sessão e são válidas apenas para a sessão de terminal atual. Para limpar essas variáveis de ambiente de toda a sessão, os seguintes comandos podem ser usados:
Por padrão, "env"
comando lista todas as variáveis de ambiente atuais. Mas, se usado com '-eu'
alternar, 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]… argumentos de comando…
Aqui, var = valor
corresponde a qualquer variável de ambiente local que você deseja usar apenas com este comando.
$ env –i bash.
Fornecerá um shell bash que temporariamente não terá nenhuma variável de ambiente. Mas, ao sair do shell, todas as variáveis serão restauradas.
Outra maneira de limpar a variável de ambiente local é usando o comando unset. Para remover qualquer variável de ambiente local temporariamente,
$ não definido
Onde, nome-var
é o nome da variável local que você deseja cancelar ou cancelar.
Outra forma 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.
NOTA - VOCÊ PODE ATUALMENTE JOGAR E ALTERAR OS VALORES DO SISTEMA OU DAS VARIÁVEIS DO AMBIENTE DO USUÁRIO, MAS AS ALTERAÇÕES IRÃO REFLETIR SOMENTE NA SESSÃO DO TERMINAL ATUAL E NÃO SERÃO PERMANENTES.
Nesta seção, aprenderemos como definir ou desconfigurar variáveis de ambiente locais, do usuário e do sistema no Linux com os exemplos a seguir:
uma.) Aqui, criamos uma variável local VAR1
e defina-o com 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.
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 remover a configuração da variável, basta definir o valor da variável para ''
.
$ export VAR = 'TecMint é o melhor site para artigos Linux' $ echo $ VAR. $ VAR = $ echo $ VAR.
c.) Aqui, criamos uma variável local VAR2
e defina-o com um valor. Então, para executar um comando apagando temporariamente todas as variáveis locais e outras variáveis de ambiente, executamos 'env –i'
comando. Este comando aqui executado shell bash, limpando todas as outras variáveis de ambiente. Depois de entrar 'saída'
no shell bash invocado, todas as variáveis seriam restauradas.
$ VAR2 = 'TecMint é o melhor site para artigos Linux' $ echo $ VAR2. $ env -i bash. $ echo $ VAR2
uma.) Modificar .bashrc
arquivo em seu diretório inicial para exportar ou definir a variável de ambiente que você precisa adicionar. Depois disso fonte o arquivo, para que as alterações tenham efeito. Então você veria a variável ('CD'
no meu caso), entrando em vigor. Esta variável estará disponível sempre 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.
export CD = 'Este é TecMint Home'
Agora execute o seguinte comando para fazer novas alterações e testá-lo.
$ source .bashrc $ echo $ CD.
Para remover esta variável, basta remover a seguinte linha em .bashrc arquivo e recrie-o:
b.) Para adicionar uma variável que estará disponível para sessões de login remotas (ou seja, quando você enviar 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.
export VAR2 = 'Esta é TecMint Home'
Ao fornecer este arquivo, a variável estará disponível quando você fizer ssh para este usuário, mas não ao abrir qualquer novo terminal local.
$ source .bash_profile $ echo $ VAR2.
Aqui, VAR2
não está inicialmente disponível, mas, ao fazer ssh para o usuário no localhost, a variável torna-se disponível.
$ ssh [email protegido]
$ echo $ VAR2.
Para remover esta variável, basta remover a linha em .bash_profile
arquivo que você adicionou e restaure o arquivo.
NOTA: Essas variáveis estarão disponíveis sempre que você estiver conectado ao usuário atual, mas não para outros usuários.
uma.) Para adicionar a variável sem login em todo o sistema (ou seja, aquela que está disponível para todos os usuários quando qualquer um deles abre um novo terminal, mas não quando qualquer usuário da máquina é acessado remotamente), adicione a variável a /etc/bash.bashrc
Arquivo.
export VAR = 'Esta é a variável de todo o sistema'
Depois disso, forneça o arquivo.
$ source /etc/bash.bashrc
Agora esta variável estará disponível para cada usuário quando ele abrir qualquer novo terminal.
$ echo $ VAR. $ sudo su. $ echo $ VAR. $ su - $ echo $ VAR.
Aqui, a mesma variável está disponível para raiz usuário, bem como usuário normal. Você pode verificar isso fazendo login com outro usuário.
b.) Se você quiser que qualquer variável de ambiente esteja disponível quando qualquer um dos usuários em sua máquina estiver conectado remotamente, mas não ao abrir qualquer novo terminal na máquina local, então você precisa editar o Arquivo - '/ etc / profile'
.
export VAR1 = 'Esta é a variável de todo o sistema apenas para sessões remotas'
Depois de adicionar a variável, basta recriar o arquivo. Então, a variável estaria disponível.
$ source / etc / profile. $ echo $ VAR1.
Para remover esta variável, remova a linha de /etc/profile
arquivo e re-fonte-o.
c.) No entanto, se você deseja adicionar qualquer ambiente que deseja que esteja disponível em todo o sistema, em ambos remotos sessões de login, bem como sessões locais (ou seja, abrir uma nova janela de terminal) para todos os usuários, basta exportar a variável em /etc/environment Arquivo.
export VAR12 = 'Estou disponível em qualquer lugar'
Depois disso, basta fornecer o arquivo e as alterações entrarão em vigor.
$ source / etc / environment. $ echo $ VAR12. $ sudo su. $ echo $ VAR12. $ exit. $ ssh localhost. $ echo $ VAR12.
Aqui, como podemos ver, a variável de ambiente está disponível para o usuário normal, usuário root, bem como na sessão de login remoto (aqui, para localhost).
Para limpar esta variável, basta remover a entrada no /etc/environment arquivo e re-fonte ou login novamente.
NOTA: As alterações entram em vigor quando você origina o arquivo. Mas, se não, você pode precisar fazer logout e login novamente.
Portanto, essas são algumas maneiras de modificar as variáveis de ambiente. Se você encontrar truques novos e interessantes para o mesmo, mencione em seus comentários.