Linux printenv Command Tutorial für Anfänger (mit Beispielen)

Umgebungsvariablen spielen unter Linux eine große Rolle. Die meisten Programme, ob Kommandozeilen- oder GUI-basiert, gehen auf die eine oder andere Weise mit Umgebungsvariablen um. Daher gibt es natürlich Tools, mit denen Sie über die Befehlszeile auf Umgebungsvariablen zugreifen können.

Ein solches Werkzeug ist printenv. In diesem Tutorial werden wir printenv anhand einiger leicht verständlicher Beispiele diskutieren. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einer Ubuntu 18.04 LTS Maschine getestet wurden.

Linux Befehl printenv

Der Befehl printenv unter Linux bietet Ihnen die Möglichkeit, die gesamte oder einen Teil der Umgebung anzuzeigen. Folgendes ist seine Syntax:

printenv [OPTION]... [VARIABLE]...

Und so definiert es die Man Page des Tools:

Print the values of the specified environment VARIABLE(s). If no VARIABLE is specified, print 
name and value pairs for them all.

Im Folgenden finden Sie einige Beispiele im Q&A-Stil, die Ihnen eine bessere Vorstellung davon vermitteln sollen, wie der Befehl printenv funktioniert.

Q1. Wie verwendet man printenv?

Die grundlegende Bedienung ist ziemlich einfach. Alles, was Sie tun müssen, ist, printenv sans any arguments auszuführen.

printenv

Nachfolgend ist die Ausgabe auf meinem System dargestellt:

CLUTTER_IM_MODULE=xim
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_MENU_PREFIX=gnome-
LANG=en_IN
DISPLAY=:0
GNOME_SHELL_SESSION_MODE=ubuntu
COLORTERM=truecolor
USERNAME=himanshu
XDG_VTNR=2
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
MANDATORY_PATH=/usr/share/gconf/ubuntu.mandatory.path
XDG_SESSION_ID=2
USER=himanshu
DESKTOP_SESSION=ubuntu
QT4_IM_MODULE=xim
TEXTDOMAINDIR=/usr/share/locale/
GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/44c42800_9a68_408d_8539_7a0e414b7986
DEFAULTS_PATH=/usr/share/gconf/ubuntu.default.path
PWD=/home/himanshu
HOME=/home/himanshu
TEXTDOMAIN=im-config
SSH_AGENT_PID=1918
QT_ACCESSIBILITY=1
XDG_SESSION_TYPE=x11
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
XDG_SESSION_DESKTOP=ubuntu
GJS_DEBUG_OUTPUT=stderr
GTK_MODULES=gail:atk-bridge
WINDOWPATH=2
TERM=xterm-256color
SHELL=/bin/bash
VTE_VERSION=5201
QT_IM_MODULE=xim
[email protected]=ibus
IM_CONFIG_PHASE=2
XDG_CURRENT_DESKTOP=ubuntu:GNOME
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
GNOME_TERMINAL_SERVICE=:1.61
XDG_SEAT=seat0
SHLVL=1
GDMSESSION=ubuntu
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
LOGNAME=himanshu
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
XDG_RUNTIME_DIR=/run/user/1000
XAUTHORITY=/run/user/1000/gdm/Xauthority
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
GJS_DEBUG_TOPICS=JS ERROR;JS LOG
SESSION_MANAGER=local/himanshu:@/tmp/.ICE-unix/1823,unix/himanshu:/tmp/.ICE-unix/1823
LESSOPEN=| /usr/bin/lesspipe %s
GTK_IM_MODULE=ibus
_=/usr/bin/printenv

So können Sie sehen, dass fast alle in meinem System eingestellten Umgebungsvariablen in der Ausgabe erzeugt wurden.

Q2. Wie kann man erreichen, dass bei der Druckausgabe nur Informationen ausgewählt werden?

Angenommen, Sie möchten, dass printenv Details anzeigt, die sich nur auf eine bestimmte Umgebungsvariable in der Ausgabe beziehen, dann müssen Sie nur den Namen dieser Variablen als Eingabe für den Befehl übergeben.

Hier ist ein Beispiel:

printenv SHELL

Und hier ist die Ausgabe, die von diesem Befehl erzeugt wird:

/bin/bash

Natürlich können Sie der Eingabeliste weitere Variablen hinzufügen. Zum Beispiel der folgende Befehl:

printenv SHELL HOME

erzeugte die untenstehende Ausgabe:

/bin/bash
/home/himanshu

Q3. Wie kann man erreichen, dass printenv NUL anstelle von Zeilenumbruch verwendet?

Standardmäßig verwendet der Befehl printenv newline als Abschlusszeichen zwischen den Ausgabeeinträgen. Wenn Sie jedoch möchten, können Sie das Tool stattdessen NUL als Terminator verwenden.

Dazu müssen Sie die Kommandozeilenoption –null verwenden. Nachfolgend ein Beispiel:

printenv --null SHELL HOME

Und hier ist ein Screenshot der produzierten Ausgabe:

Wie man printenv dazu bringt, NUL anstelle von Zeilenumbruch zu verwenden.

Fazit

Wenn Ihre Linux-Befehlszeilenarbeit den Umgang mit Umgebungsvariablen beinhaltet, ist der Befehl printenv ein wichtiges Werkzeug, das Sie sich merken sollten. Hier, in diesem Tutorial, haben wir die meisten der Optionen, die dieses Tool bietet, diskutiert. Sobald Sie damit fertig sind, diese zu üben (die Lernkurve ist nicht steil, also sollte es keine Zeit dauern), können Sie zur man page printenv gehen, um mehr über dieses Kommandozeilenprogramm zu erfahren.

Das könnte dich auch interessieren …