381 votos

¿Cómo enumerar todos los nombres de las variables y sus valores actuales?

Incluyendo no sólo $HOME, $PWD etc. pero cualquier otro que haya definido.

524voto

LoreLLo Puntos 21

Escriba el siguiente comando en una terminal para imprimir todas las variables de entorno:

printenv

Para más información acerca de este comando, leer el printenv página man.


Para mostrar una lista que incluye las "variables de shell" puede introducir el siguiente comando:

( set -o posix ; set ) | less

Esto le mostrará no sólo las variables del shell, pero las variables de entorno.

Para más información relacionada con este tema leer:

57voto

Steve Karg Puntos 11

Puedes ver todas las variables con el declare incorporado.

declare -p

Si sólo estás interesado en las variables de entorno, utilice

declare -xp

Ejecute help declare para ver cuáles son las otras opciones.

54voto

zacharyalexstern Puntos 149

Sé que esta pregunta es bastante antiguo y la respuesta, pero creo que puedo añadir un poco de información útil.

En todos los métodos descritos anteriormente, el procedimiento que se sugiere es:

  • abre un terminal
  • mostrar las variables de entorno usando env, o printenv o lo que sea

El problema de estas soluciones son las que se están viendo en las variables de entorno de la shell que se ejecuta en el terminal. Usted no está viendo las variables de entorno disponibles para una aplicación se ejecute, por ejemplo, directamente por la interfaz gráfica.

Esto es notable, por ejemplo, si usted utiliza su ~/.profileo .bashrco .zshenv (dependiendo de su shell) para modificar las variables de entorno --- como el clásico, además de los directorios de la ruta de acceso.

Para ver las variables de entorno disponibles para el inicio de la aplicación directamente en el entorno gráfico, puede hacer lo siguiente (en Gnome Shell, estoy seguro de que hay un método equivalente en el resto DE):

  • presione Alt-F2
  • ejecute el comando xterm -e bash --noprofile --norc

Ahora tienes un terminal con una cubierta que no agregar las variables de entorno. Usted puede utilizar env aquí para ver una lista de todas las variables de entorno:

Example of the bare shell

Obviamente el nuevo shell tendrá las variables de entorno añadido por el sistema de archivos, pero de que las variables deben estar disponibles (por herencia) para todos los programas en el sistema, de todos modos.

Estoy publicando esto porque es la cuarta vez que tengo que buscar este truco de nuevo, revisando mi .pam_environment archivo. Así que ahora lo voy a encontrar más rápido (y en el proceso, espero ayudar a alguien más...)

12voto

Zian Choy Puntos 1510

Lista las variables de entorno en terminal con CTRL + ALT + T se puede utilizar env comando.

por ejemplo:

[raja@localhost ~]$ env
XDG_VTNR=1
SSH_AGENT_PID=3671
XDG_SESSION_ID=3
HOSTNAME=localhost.localdomain
IMSETTINGS_INTEGRATE_DESKTOP=yes
GPG_AGENT_INFO=/home/raja/.gnupg/S.gpg-agent:3691:1
GLADE_PIXMAP_PATH=:
TERM=xterm-256color
SHELL=/bin/bash
XDG_MENU_PREFIX=xfce-
DESKTOP_STARTUP_ID=
HISTSIZE=1000
XDG_SESSION_COOKIE=0250277dd805498381e96c05d88068b0-1364679772.845276-1676152201
WINDOWID=65011716
GNOME_KEYRING_CONTROL=/home/raja/.cache/keyring-N3QoQ2
IMSETTINGS_MODULE=none
QT_GRAPHICSSYSTEM_CHECKED=1
USER=raja

etc.

Espero que ayude.

10voto

tmgoblin Puntos 9

En bash con compgen:

compgen -v | while read line; do echo $line=${!line};done  

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: