Como faço para definir uma variável de ambiente em zsh

Como faço para definir uma variável de ambiente em zsh

Se você já usou o terminal Linux, provavelmente está ciente das variáveis ​​de ambiente. Variáveis ​​de ambiente se referem a um conjunto de nomes de variáveis ​​dinâmicos que armazenam um valor que os aplicativos do shell Linux podem usar.

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:

  1. variáveis ​​ambientais
  2. Variáveis ​​de concha.

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.

  • LAR - Representa o diretório inicial do usuário atual.
  • CONCHA - Mostra o caminho do shell do usuário atual.
  • DO UTILIZADOR - Mostra o usuário atualmente conectado.
  • CAMINHO - Contém uma lista de diretórios a serem pesquisados ​​por arquivos executáveis ​​quando um comando é executado.
  • Lang - Mostra configurações de localidade, incluindo codificação de caracteres
  • PRAZO - Refere -se à emulação atual do terminal.
  • _ - Mostra o comando executado anteriormente para esse usuário.

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.

  • Zsh_version - A versão do shell zsh sendo executada.
  • INCITAR - Mostra os espaços reservados para o atual formato de prompt ZSH. Semelhante a $ ps1.
  • Histsize - Número de comandos de história armazenados na memória.
  • Histfile - caminho para o arquivo de histórico de comando ZSH.
  • Zsh_name - Nome do shell zsh.
  • Uid - Uid do usuário atual.
  • Ifs - Armazena o valor do separador de campo interno.

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.