GNU/Linux >> LINUX-Kenntnisse >  >> Linux

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

Umgebungsvariablen spielen in Linux eine große Rolle. Die meisten Programme, ob befehlszeilenbasiert oder GUI-basiert, behandeln Umgebungsvariablen auf die eine oder andere Weise. Natürlich gibt es Tools, mit denen Sie von der Befehlszeile aus auf Umgebungsvariablen zugreifen können.

Ein solches Tool ist printenv . In diesem Tutorial werden wir den Befehl printenv anhand einiger leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle Beispiele hier auf einem Ubuntu 20.04 LTS-Rechner getestet wurden.

Linux printenv-Befehl

Der Befehl printenv in Linux bietet Ihnen die Möglichkeit, die gesamte oder einen Teil der Umgebung anzuzeigen. Es folgt die Syntax:

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

Und so definiert es die Manpage 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 benutzt man printenv?

Die grundlegende Verwendung ist ziemlich einfach. Alles, was Sie tun müssen, ist, printenv ohne Argumente auszuführen.

printenv

Es folgt die auf meinem System erzeugte Ausgabe:

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

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

Q2. Wie kann man printenv dazu bringen, nur ausgewählte Informationen anzuzeigen?

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 an den Befehl übergeben.

Hier ist ein Beispiel:

printenv SHELL

Und hier ist die Ausgabe dieses Befehls:

/bin/bash

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

printenv SHELL HOME

erzeugte die unten gezeigte Ausgabe:

/bin/bash
/home/himanshu

Q3. Wie bringt man printenv dazu, NUL statt Zeilenumbruch zu verwenden?

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

Dazu müssen Sie die Befehlszeilenoption --null verwenden. Nachfolgend ein Beispiel:

printenv --null SHELL HOME

Und hier ist ein Screenshot der erzeugten Ausgabe im Vergleich zur Verwendung von printenv ohne die Option --null:

Schlussfolgerung

Wenn Ihre Linux-Befehlszeilenarbeit den Umgang mit Umgebungsvariablen umfasst, ist der Befehl printenv ein wichtiges Werkzeug, das Sie sich merken sollten. Hier, in diesem Tutorial, haben wir die meisten Optionen besprochen, die dieses Tool bietet. Sobald Sie mit dem Üben fertig sind (die Lernkurve ist nicht steil, also sollte es nicht lange dauern), können Sie zur Manpage von printenv gehen, um mehr über dieses Befehlszeilenprogramm zu erfahren.


Linux
  1. Linux expand Command Tutorial für Anfänger (mit Beispielen)

  2. Linux yes Command Tutorial für Anfänger (mit Beispielen)

  3. Linux nproc Command Tutorial für Anfänger (mit Beispielen)

  4. Linux-Benutzer Befehls-Tutorial für Anfänger (mit Beispielen)

  5. Linux sum Command Tutorial für Anfänger (mit Beispielen)

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

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

Linux-Lsattr-Befehls-Tutorial für Anfänger (mit Beispielen)

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

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

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