Lectura sobre esta pregunta: en zsh, ¿cómo puedo enumerar todas las variables de entorno? , Me preguntaba, ¿cómo puedo enumerar todas las variables de shell ?
Además, ¿la distinción entre variables de shell y variables de entorno se aplica a shells que no sean zsh?
Estoy principalmente interesado en Bash y Zsh, pero sería genial saber cómo hacerlo en otros shells convencionales.
declare -p
haz lo mismoset -o posix
no existe en zsh;set
no genera definiciones de funciones.set -o posix
es un error de sintaxis en la mayoría de los shells.exec
, las variables de shell no.Hay muchas alternativas:
printenv
env
exportar
conjunto
También es útil para obtener variables de shell.
Si necesita información adicional (entero, exportado), debe usar
composición tipográfica
export tiene la ventaja de que su salida se puede volver a leer de inmediato en el shell.
Por último, hay
compgen -v
que muestra todas las variables, shell y entorno, sin su valor o información adicional. Tendrá que hacer eco de $ VARIABLE_NAME para encontrar el valor de la variable. Pero al menos la lista está completa. Pertenece a bash , no a zsh .
fuente
export
no tiene ninguna ventajaset
, al menos, cuando se trata de cotizar para el reingreso de shell. Yprintenv
yenv
no son en absoluto acerca de las variables de shell, aunque éstos lo hacen a menudo coinciden con las variables de entorno.Con
zsh
, puede usartypeset
, que proporciona más información queset
, por ejemplo, el tipo de las variables. Todavía puede filtrar la salida congrep
osed
, según lo que desee. Las variables de entorno están marcadas comoexported
en la salida.fuente