Como listar todos os nomes de variáveis ​​e seus valores atuais?

Como listar todos os nomes de variáveis ​​e seus valores atuais?

Como listar todos os nomes de variáveis ​​e seus valores atuais?

Incluindo não apenas $HOME, $PWDetc, mas qualquer outro que você tenha definido.

Responder1

Para festa:(o shell padrão no Ubuntu)

Digite o seguinte comando em um terminal para imprimir todas as variáveis ​​de ambiente:

printenv

Para mais informações sobre este comando, leia oprintenvpágina de manual.


Para mostrar uma lista incluindo as "variáveis ​​do shell", você pode inserir o próximo comando:

( set -o posix ; set ) | less

Isso vai te mostrarnão somenteas variáveis ​​de shell, mas também as variáveis ​​de ambiente.

Para mais informações relacionadas com este tópico leia:


Para zsh:(um shell avançado)

Use o seguinte comando:

( setopt posixbuiltin; set; ) | less

Para obter mais informações sobre as opções ZSH, consultezshoptionspágina de manual.

Responder2

Você pode ver todas as variáveis ​​com o declarearquivo embutido.

declare -p

Se você estiver interessado apenas em variáveis ​​de ambiente, use

declare -xp

Corre help declarepara ver quais são as outras opções.

Responder3

Sei que esta pergunta é bastante antiga e respondida, mas acho que posso acrescentar algumas informações úteis.

Em todos os métodos descritos acima, o procedimento sugerido é:

  • lançar um terminal
  • mostre as variáveis ​​de ambiente usando env, ou printenvou qualquer outra coisa

O problema dessas soluções é que você está vendo as variáveis ​​de ambientedo shell que está sendo executado no terminal. Você não está vendo as variáveis ​​de ambiente disponíveis para uma aplicação ser executada, por exemplo, diretamente pela interface gráfica.

Isso é perceptível se, por exemplo, você usar ~/.profile, ou .bashrc, ou .zshenv(dependendo do seu shell) para modificar as variáveis ​​de ambiente --- como a adição clássica de diretórios ao caminho.

Para ver as variáveis ​​de ambiente disponíveis para a aplicação iniciada diretamente no ambiente gráfico, você pode fazer o seguinte (no Gnome Shell, tenho certeza que existe um método equivalente em todos os outros DE):

  • pressione Alt-F2
  • execute o comandoxterm -e bash --noprofile --norc

(Ou, se você não tiver xterm, gnome-terminal -- bash --noprofile --norc--- obrigado a @Mike Nakis pelo comentário).

Agora você tem um terminal com um shell que não adicionou nenhuma variável de ambiente. Você pode usar envaqui para listar todas as suas variáveis ​​de ambiente:

Exemplo de casca nua

Obviamente, o novo shell terá as variáveis ​​de ambiente adicionadas pelos arquivos do sistema, mas essas variáveis ​​deverão estar disponíveis (por herança) para todos os programas no sistema de qualquer maneira.

Estou postando isso porque é a quarta vez que preciso pesquisar esse truque novamente, verificando meu .pam_environmentarquivo. Então agora vou encontrar mais rápido (e no processo, espero ajudar alguém...)

Responder4

Para listar as variáveis ​​de ambiente no terminal com ++ CTRLvocê pode usar o comando.ALTTenv

por exemplo :

[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 ajude.

informação relacionada