Respostas:
Parece que você quer env.
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 ;-)
apropos environment
man zshou pesquisando no Google por "variáveis de impressão zsh" ou similar.
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.
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?
ZSH_HIGHLIGHT_STYLESnão aparecem quando eu uso set, ou qualquer outro comando.