
¿Cómo enumerar todos los nombres de las variables y sus valores actuales?
Incluyendo no solo $HOME
, $PWD
etc sino cualquier otro que hayas definido.
Respuesta1
Para fiesta:(el shell estándar en Ubuntu)
Ingrese el siguiente comando en una terminal para imprimir todas las variables de entorno:
printenv
Para obtener más información sobre este comando, lea elprintenv
página de manual.
Para mostrar una lista que incluya las "variables de shell", puede ingresar el siguiente comando:
( set -o posix ; set ) | less
esto te mostrarano sololas variables de shell, pero también las variables de entorno.
Para más información relacionada con este tema lea:
- ¿Cómo enumerar las variables declaradas en el script en bash?deENTONCESy
- Cómo imprimir todas las variables de entorno definidas (pero no necesariamente exportadas) en bashde UnixSE
- Variable de entorno vs variable de Shell, ¿cuál es la diferencia?
Para zsh:(un caparazón avanzado)
Utilice el siguiente comando:
( setopt posixbuiltin; set; ) | less
Para obtener más información sobre las opciones de ZSH, consultezshoptions
página de manual.
Respuesta2
Puedes ver todas las variables con el declare
archivo incorporado.
declare -p
Si solo está interesado en las variables de entorno, use
declare -xp
Corre help declare
para ver cuáles son las otras opciones.
Respuesta3
Sé que esta pregunta es bastante antigua y está respondida, pero creo que puedo agregar un poco de información útil.
En todos los métodos descritos anteriormente, el procedimiento que se sugiere es:
- lanzar una terminal
- mostrar las variables de entorno usando
env
, oprintenv
o lo que sea
El problema de estas soluciones es que estás viendo las variables de entorno.del shell que se ejecuta en la terminal. No ve las variables de entorno disponibles para una aplicación ejecutada, por ejemplo, directamente mediante la interfaz gráfica.
Esto se nota si, por ejemplo, usa su ~/.profile
, o .bashrc
, o .zshenv
(dependiendo de su shell) para modificar las variables de entorno, como la clásica adición de directorios a la ruta.
Para ver las variables de entorno disponibles para la aplicación iniciada directamente en el entorno gráfico, puedes hacer lo siguiente (en Gnome Shell, estoy seguro de que existe un método equivalente en todos los demás DE):
- presione Alt-F2
- ejecutar el comando
xterm -e bash --noprofile --norc
(O, si no lo tiene xterm
, gnome-terminal -- bash --noprofile --norc
--- gracias a @Mike Nakis por el comentario).
Ahora tiene una terminal con un shell que no agregó ninguna variable de entorno. Puede utilizar env
aquí para enumerar todas sus variables de entorno:
Obviamente, el nuevo shell tendrá las variables de entorno agregadas por los archivos del sistema, pero esas variables deberían estar disponibles (por herencia) para todos los programas del sistema de todos modos.
Estoy publicando esto porque es la cuarta vez que tengo que buscar este truco nuevamente, revisando mi .pam_environment
archivo. Así que ahora lo encontraré más rápido (y en el proceso, espero ayudar a alguien más...)
Respuesta4
Para enumerar las variables de entorno en la terminal con ++ CTRLpuedes usar el comando.ALTTenv
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.