En zsh, ¿cómo puedo enumerar todas las variables de entorno?

26

Quiero obtener una lista de todas las variables de entorno (¿variables de shell? ¿Variables exportadas?) Y sus valores en un momento dado, en zsh.
¿Cuál es la forma apropiada de hacer esto?

Ali
fuente

Respuestas:

35

Suena como si quisieras env.

Chris Down
fuente
¡eso fue embarazoso! Gracias. Pero ahora que estamos en ello, si no tuviera a nadie a quien preguntar, ¿cómo podría haber encontrado esto?
Ali
3
@Ali Bueno, envno es específico para zsh, es un programa independiente. Habiendo dicho eso, el resultado número uno en Google para "enumerar variables de entorno" dice usar env, así que supongo que es una forma ;-)
Chris Down
1
¡Quiero decir, si no tuviera conexión a Internet! Sé que moriría en unos días sin conexión a Internet, pero en esos pocos días, ¿cómo puedo buscar esto en la documentación / man ...?
Ali
2
podrías hacer algo comoapropos environment
Glenn Jackman
1
@ Ali, si quisieras encontrar esto sin ayuda, habría comenzado con man zshGoogle o buscando "variables de impresión zsh" o similar.
Alex
21

exportimprime la lista de variables de entorno y sus valores. Los valores se citan, la salida de exportes adecuada para leer de nuevo en el shell. Las variables se imprimen en orden alfabético.

Si también desea variables de shell, use set. Si desea que las variables de shell con anotaciones de tipo ( exported, integer, etc.), el uso typeset.

También puede usar exporty seten otros shells, pero la mayoría no cita la salida, por lo que no se puede analizar. typesetestá disponible (con un comportamiento diferente) en ksh y bash.

Si desea las variables de entorno, también está el envcomando, que imprime sin clasificar, sin comillas

Si solo desea los nombres, acceda a la parametersmatriz asociativa. Las claves son los nombres de los parámetros y los valores indican los tipos.

Gilles 'SO- deja de ser malvado'
fuente
2
echo $ZSH_VERSIONvuelve 5.0.5, pero cuando lo env | grep ZSH_VERSIONhago no veo ningún partido. ¿ ZSH_VERSIONNo es una variable de entorno? ¿Qué me estoy perdiendo?
Josh
3
@ Josh Es una variable de shell, no exportada al entorno.
Gilles 'SO- deja de ser malvado'
@Gilles ¿Cómo enumeraríamos todos esos también?
Daniel Que
@DanielQue Segundo párrafo de mi respuesta
Gilles 'SO- deja de ser malvado'
@Gilles Es extraño, las variables locales como ZSH_HIGHLIGHT_STYLESno aparecen cuando uso set, o cualquiera de los otros comandos.
Daniel Que