Wie liste ich alle Variablennamen und ihre aktuellen Werte auf?

Wie liste ich alle Variablennamen und ihre aktuellen Werte auf?

Wie liste ich alle Variablennamen und ihre aktuellen Werte auf?

Einschließlich nicht nur $HOME, $PWDusw., sondern auch aller anderen, die Sie definiert haben.

Antwort1

Für Bash:(die Standard-Shell in Ubuntu)

Geben Sie den folgenden Befehl in ein Terminal ein, um alle Umgebungsvariablen auszudrucken:

printenv

Weitere Informationen zu diesem Befehl finden Sie imprintenvmanpage.


Um eine Liste mit den „Shell-Variablen“ anzuzeigen, können Sie den nächsten Befehl eingeben:

( set -o posix ; set ) | less

Dies wird Ihnen zeigennicht nurdie Shell-Variablen, aber auch die Umgebungsvariablen.

Weitere Informationen zu diesem Thema finden Sie unter:


Für zsh:(eine erweiterte Shell)

Verwenden Sie den folgenden Befehl:

( setopt posixbuiltin; set; ) | less

Weitere Informationen zu ZSH-Optionen finden Sie unterzshoptionsmanpage.

Antwort2

Sie können alle Variablen mit dem integrierten Tool sehen declare.

declare -p

Wenn Sie nur an Umgebungsvariablen interessiert sind, verwenden Sie

declare -xp

Führen Sie es aus help declare, um zu sehen, welche anderen Optionen es gibt.

Antwort3

Ich weiß, dass diese Frage ziemlich alt und bereits beantwortet ist, aber ich denke, ich kann ein paar nützliche Informationen hinzufügen.

Bei allen oben beschriebenen Methoden wird folgende Vorgehensweise empfohlen:

  • Starten Sie ein Terminal
  • Zeigen Sie die Umgebungsvariablen mit env, oder printenvoder was auch immer an.

Das Problem dieser Lösungen ist, dass Sie die Umgebungsvariablen sehender Shell, die in das Terminal ausgeführt wird. Sie sehen nicht die Umgebungsvariablen, die einer beispielsweise direkt über die grafische Benutzeroberfläche ausgeführten Anwendung zur Verfügung stehen.

Dies macht sich beispielsweise bemerkbar, wenn Sie Ihre ~/.profile, oder .bashrc, oder .zshenv(je nach Shell) verwenden, um die Umgebungsvariablen zu ändern – wie das klassische Hinzufügen von Verzeichnissen zum Pfad.

Um die für die direkt in der Grafikumgebung gestartete Anwendung verfügbaren Umgebungsvariablen anzuzeigen, können Sie Folgendes tun (in Gnome Shell, ich bin sicher, dass es in allen anderen DEs eine entsprechende Methode gibt):

  • drücken Sie Alt-F2
  • Führen Sie den Befehl ausxterm -e bash --noprofile --norc

(Oder, wenn Sie keins haben xterm, gnome-terminal -- bash --noprofile --norc--- Danke an @Mike Nakis für den Kommentar).

Sie haben jetzt ein Terminal mit einer Shell, die keine Umgebungsvariablen hinzugefügt hat. Sie können envhier alle Ihre Umgebungsvariablen auflisten:

Beispiel der nackten Hülle

Natürlich werden der neuen Shell die Umgebungsvariablen aus den Systemdateien hinzugefügt, aber diese Variablen sollten ohnehin (durch Vererbung) allen Programmen im System zur Verfügung stehen.

Ich poste das, weil ich diesen Trick jetzt schon zum vierten Mal suchen muss, wenn ich meine .pam_environmentDatei überprüfe. So werde ich ihn jetzt schneller finden (und hoffe, dabei jemand anderem zu helfen ...)

Antwort4

Um die Umgebungsvariablen im Terminal mit CTRL+ ALT+ aufzulisten T, können Sie envden Befehl verwenden.

Zum Beispiel :

[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

usw.

Ich hoffe, das hilft.

verwandte Informationen