GNU/Linux >> Tutoriels Linux >  >> Linux

Tutoriel de commande Linux printenv pour les débutants (avec exemples)

Les variables d'environnement jouent un rôle majeur dans Linux. La plupart des programmes, qu'ils soient basés sur la ligne de commande ou sur l'interface graphique, traitent les variables d'environnement d'une manière ou d'une autre. Alors naturellement, il existe des outils qui vous permettent d'accéder aux variables d'environnement à partir de la ligne de commande.

Un de ces outils est printenv . Dans ce didacticiel, nous discuterons de la commande printenv à l'aide d'exemples faciles à comprendre. Mais avant cela, il convient de mentionner que tous les exemples ici ont été testés sur une machine Ubuntu 20.04 LTS.

Commande Linux printenv

La commande printenv sous Linux vous permet de visualiser tout ou partie de l'environnement. Voici sa syntaxe :

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

Et voici comment la page de manuel de l'outil le définit :

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

Voici quelques exemples de style questions-réponses qui devraient vous donner une meilleure idée du fonctionnement de la commande printenv.

Q1. Comment utiliser printenv ?

L'utilisation de base est assez facile. Tout ce que vous avez à faire est d'exécuter printenv sans aucun argument.

printenv

Voici la sortie produite sur mon système :

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

Vous pouvez donc voir que presque toutes les variables d'environnement définies dans mon système ont été produites en sortie.

Q2. Comment faire en sorte que printenv n'affiche que les informations sélectionnées ?

Supposons que vous souhaitiez que printenv affiche uniquement les détails liés à une variable d'environnement spécifique dans la sortie, alors tout ce que vous avez à faire est de transmettre le nom de cette variable en entrée à la commande.

Voici un exemple :

printenv SHELL

Et voici la sortie produite par cette commande :

/bin/bash

Bien sûr, vous pouvez ajouter plus de variables à la liste d'entrée. Par exemple, la commande suivante :

printenv SHELL HOME

produit la sortie ci-dessous :

/bin/bash
/home/himanshu

Q3. Comment faire en sorte que printenv utilise NUL au lieu de la nouvelle ligne ?

Par défaut, la commande printenv utilise une nouvelle ligne comme caractère de fin entre les entrées de sortie. Cependant, si vous le souhaitez, vous pouvez faire en sorte que l'outil utilise NUL comme terminateur à la place.

Pour cela, vous devrez utiliser l'option de ligne de commande --null. Voici un exemple :

printenv --null SHELL HOME

Et voici une capture d'écran de la sortie produite par rapport à l'utilisation de printenv sans l'option --null :

Conclusion

Si votre travail en ligne de commande Linux implique de traiter des variables d'environnement, la commande printenv est un outil important à retenir. Ici, dans ce tutoriel, nous avons discuté de la majorité des options offertes par cet outil. Une fois que vous avez fini de les pratiquer (la courbe d'apprentissage n'est pas abrupte, cela ne devrait donc pas prendre de temps), vous pouvez vous diriger vers la page de manuel printenv pour en savoir plus sur cet utilitaire de ligne de commande.


Linux
  1. Linux expand Tutoriel de commande pour les débutants (avec exemples)

  2. Tutoriel de commande de facteur Linux pour les débutants (avec exemples)

  3. Linux oui Tutoriel de commande pour les débutants (avec exemples)

  4. Tutoriel de commande pour les utilisateurs Linux pour les débutants (avec exemples)

  5. Tutoriel de commande Linux sum pour les débutants (avec exemples)

Tutoriel de commande Linux sha1sum pour les débutants (avec exemples)

Tutoriel de commande Linux look pour les débutants (avec exemples)

Tutoriel de commande Linux lsattr pour les débutants (avec exemples)

Tutoriel de commande Linux tload pour les débutants (avec exemples)

Tutoriel de commande Linux znew pour les débutants (avec exemples)

Tutoriel de commande Linux tr pour les débutants (avec exemples)