No zsh, como posso listar todas as variáveis ​​de ambiente?


26

Eu quero obter uma lista de todas as variáveis ​​de ambiente (variáveis ​​de shell? Variáveis ​​exportadas?) E seus valores em um determinado momento, no zsh.
Qual é a maneira correta de fazer isso?

Respostas:


35

Parece que você quer env.


isso foi embaraçoso! Obrigado. Mas agora que estamos nisso, se eu não tinha ninguém para perguntar, como eu poderia ter encontrado isso?
Ali

3
@ Ali Bem, envnão é específico zsh, é um programa independente. Dito isto, o número um resultado no Google por "variáveis de ambiente lista", diz a usar env, então eu acho que essa é uma maneira ;-)
Chris Baixo

11
Quero dizer, se eu não tivesse conexão com a internet! Eu sei que morreria em alguns dias sem conexão com a Internet, mas nesses poucos dias como posso pesquisar isso na documentação / man ...?
Ali

2
você poderia fazer algo parecido comapropos environment
glenn jackman 03/02/12

11
@ Ali, se você quiser encontrar isso sem ajuda, eu teria começado com man zshou pesquisando no Google por "variáveis ​​de impressão zsh" ou similar.
Alex

21

exportimprime a lista de variáveis ​​de ambiente e seus valores. Os valores são citados, a saída de exporté adequada para leitura novamente no shell. As variáveis ​​são impressas em ordem alfabética.

Se você também deseja variáveis ​​de shell, use set. Se você quiser variáveis do shell com anotações de tipo ( exported, integer, etc.), o uso typeset.

Você pode usar exporte setem outros shells também, mas a maioria não cita a saída, portanto não é analisável. typesetestá disponível (com comportamento diferente) no ksh e no bash.

Se você deseja as variáveis ​​de ambiente, há também o envcomando, que imprime sem classificação, sem aspas

Se você deseja apenas os nomes, acesse a parametersmatriz associativa. As chaves são os nomes dos parâmetros e os valores indicam os tipos.


2
echo $ZSH_VERSIONretorna 5.0.5, mas quando o faço env | grep ZSH_VERSION, não vejo correspondências. Não ZSH_VERSIONé uma variável de ambiente? o que estou perdendo?
28413 Josh

3
@ Josh É uma variável de shell, não exportada para o ambiente.
Gilles 'SO- stop be evil'

@Gilles Como listaríamos todos eles também?
Daniel Que

@DanielQue Segundo parágrafo da minha resposta
Gilles 'SO- stop be evil'

@ Gilles É estranho, variáveis ​​locais como ZSH_HIGHLIGHT_STYLESnão aparecem quando eu uso set, ou qualquer outro comando.
Daniel Que
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.