As variáveis de ambiente vêm como pares de valor-chave, onde a chave representa o nome da variável e um valor. Você pode personalizar os valores das variáveis de ambiente, com as mudanças refletidas globalmente em todos os aplicativos lançados a partir do shell.
Este guia discutirá como interagir com variáveis de ambiente, leitura e configuração de variáveis de ambiente usando o shell ZSH.
Como as variáveis ambientais funcionam
Vamos tomar um momento para entender como as variáveis do ambiente funcionam.
No Linux e em outros sistemas baseados em UNIX, toda vez que lançamos uma nova sessão de shell, ele inicializa um processo para reunir as informações que devem estar disponíveis nessa sessão de shell e todos os seus processos filhos. Essas informações são coletadas de arquivos de configuração, como .ZSHRC, .Zlogin, etc.
O objetivo das variáveis de ambiente é fornecer um meio simples onde o shell pode buscar ou definir configurações relacionadas ao sistema.
As variáveis de ambiente pegam o seguinte formato:
Chave = valor
Chave = valor1: value2
Se a variável de ambiente contiver vários valores, cada valor será separado por um cólon (:). Um exemplo famoso dessa variável de ambiente é o $ PATH.
Da mesma forma, se o valor da variável de ambiente contiver espaços, o valor será incluído em um par de marcas de aspas como:
Key = "Valor With Spaces"
Variáveis de ambiente são sensíveis ao minúsculas. Recomenda -se usar nomes de maiúsculas para variáveis de ambiente para distingui -las em outros contextos.
Você não deve incluir espaços em torno do sinal igual (=).
Existem dois tipos principais de variáveis:
variáveis ambientais
Variáveis de ambiente são variáveis globais herdadas por todas as conchas e seus processos infantis correspondentes.
Variáveis de concha
Por outro. Eles são comumente usados para armazenar dados temporários e são destruídos automaticamente assim que a sessão do shell for encerrada.
Cada concha como Bash, Zsh, peixe e outros contêm seu próprio conjunto de variáveis de concha.
Como imprimir variáveis de ambiente
Vários conchas Linux acompanham suas variáveis de concha e ambiente predefinidos. Podemos ver essas variáveis usando vários comandos.
O comando mais comum para visualizar as variáveis do ambiente é o comando Printenv. Se você executar este comando sem argumentos, ele imprime todas as variáveis de ambiente, como mostrado no exemplo abaixo:
Printenv
O comando acima deve imprimir todas as variáveis de ambiente como mostrado:
Shell =/bin/zsh
Session_manager = local/Debian10.Local:@/tmp/.GELO-
Unix/964, Unix/Debian10.local:/tmp/.Ice-unix/964
Qt_accessibility = 1
Colorterm = Truecolor
Xdg_menu_prefix = gnome-
Gnome_desktop_session_id = this-is-deprecated
Ssh_auth_sock =/run/user/1000/keyring/ssh
Desktop_session = gnome
Gtk_modules = Gail: Atk-Bridge
Xdg_seat = SEAT0
PWD =/Home/Debian
Xdg_session_desktop = gnome
LogName = Debian
Xdg_session_type = Wayland
GJS_DEBUG_TOPICS = ERRO JS; JS LOG
Gdm_lang = en_us.UTF-8
Home =/Home/Debian
Nome de usuário = Debian
---------Saída truncada-------------------------------------
Usando o comando printenv, você pode imprimir uma variável individual passando -a como um argumento. Por exemplo, para mostrar o valor do $ PATH, você pode usar o comando:
Printenv Path
O comando deve retornar o valor da variável do caminho como:
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/jogos
Você também pode passar várias variáveis para o comando printenv como:
$ Priprenv Path Home Nome de usuário
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/jogos
/Home/Debian
Debian
O comando deve imprimir os valores das variáveis de ambiente passadas cada uma em uma linha.
DICA: Você também pode usar o comando Env para imprimir ou definir os valores das variáveis de ambiente.
Variáveis de ambiente popular
A seguir estão algumas variáveis de ambiente padrão.
Como imprimir variáveis de shell
Os comandos Printenv e Env mostrarão apenas as variáveis de ambiente. Use o comando set para visualizar todas as variáveis, incluindo variáveis de concha e local, funções e variáveis de ambiente.
Se você executar o comando set sem parâmetros, ele imprimirá todas as variáveis como:
definir
Aqui está um exemplo de saída:
'!'= 0
'#' = 0
'$' = 2801
'*' = ()
-= 569jnrxzghiklms
0 = ZSH
'?'= 0
@= ()
Argc = 0
Bg
CDPath = "
Colorterm = Truecolor
Colunas = 211
Cputype = x86_64
Dbus_session_bus_address = 'unix: path =/run/user/1000/barramento'
Desktop_session = gnome
Display =: 0
Egid = 1000
EpochrealTime
Epusos segundos
Euid = 1000
FG
Fignore = "
FPath =/Home/Debian/.Oh-my-zsh/plugins/git:/home/debian/.oh meu Deus-
zsh/funções:/home/debian/.Oh-my-zsh/conclusões
---Saída truncada----------------------------------------
Os valores impressos do comando set são tipicamente uma lista enorme de itens que você pode filtrar canalizando a saída para comandos como Grep.
Variáveis populares de shell
Embora as variáveis de shell variem dependendo do shell que você está usando; A seguir, são comuns no shell zsh.
Como definir variáveis de ambiente em Zsh
Para definir variáveis de ambiente, usamos o comando de exportação. A sintaxe é:
chave de exportação = valor
Por exemplo, para criar uma variável http_proxy e defini -la como um URL, podemos fazer:
exportar http_proxy = "http: // 127.0.0.1: 8080 "
Para verificar a criação da variável, podemos usar o comando printenv como:
Printenv http_proxy
http: // 127.0.0.1: 8080
Depois de definir uma variável de ambiente, você pode acessá -la de todos os processos infantis. Por exemplo:
zsh -c 'echo $ http_proxy'
No entanto, as variáveis ambientais criadas no método discutido acima estão disponíveis apenas na sessão de shell atual. Uma vez fechado, todas as variáveis de ambiente são destruídas.
Como criar variáveis de ambiente permanente
Se você deseja criar uma variável de ambiente que possa persistir em sessões de shell, você pode usar os arquivos de configuração do shell.
Em Zsh, você pode definir as variáveis de ambiente no .Arquivo ZSHRC.
Da mesma forma, você precisa usar o comando de exportação como:
vim ~///.ZSHRC
exportar http_proxy- "http: // 127.0.0.1: 8080 "
Feche e salve o arquivo.
Para carregar as variáveis de ambiente na sessão atual do shell, use o comando de origem como:
fonte ~///.ZSHRC
Conclusão
Neste guia, discutimos como trabalhar com o ambiente e variáveis de concha em sistemas Linux. Também aprendemos a definir variáveis de ambiente e aplicar persistência nas sessões de shell.
Obrigado pela leitura.