웹사이트 검색

초보자를 위한 Linux printenv 명령 자습서(예제 포함)


이 페이지에서

  1. Linux printenv 명령
  2. Q1. printenv를 사용하는 방법?\n
  3. Q2. printenv가 선택 정보만 표시하게 만드는 방법은 무엇입니까?\n
  4. Q3. printenv가 줄 바꿈 대신 NUL을 사용하도록 만드는 방법은 무엇입니까?\n
  5. 결론

환경 변수는 Linux에서 중요한 역할을 합니다. 명령줄 기반이든 GUI 기반이든 대부분의 프로그램은 어떤 방식으로든 환경 변수를 처리합니다. 당연히 명령줄에서 환경 변수에 액세스할 수 있는 도구가 있습니다.

그러한 도구 중 하나는 printenv입니다. 이 자습서에서는 이해하기 쉬운 몇 가지 예를 사용하여 printenv 명령에 대해 설명합니다. 하지만 그 전에 여기에 있는 모든 예제가 Ubuntu 20.04 LTS 시스템에서 테스트되었음을 언급할 가치가 있습니다.

리눅스 printenv 명령

Linux의 printenv 명령은 환경 전체 또는 일부를 볼 수 있는 기능을 제공합니다. 구문은 다음과 같습니다.

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

도구 매뉴얼 페이지에서 이를 정의하는 방법은 다음과 같습니다.

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

다음은 printenv 명령의 작동 방식에 대한 더 나은 아이디어를 제공하는 몇 가지 Q&A 스타일의 예입니다.

Q1. printenv를 사용하는 방법?

기본적인 사용법은 매우 쉽습니다. printenv sans 인수를 실행하기만 하면 됩니다.

printenv

다음은 내 시스템에서 생성된 출력입니다.

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
=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

그래서 내 시스템에 설정한 거의 모든 환경변수가 출력으로 생성되었음을 알 수 있다.

Q2. printenv가 선택 정보만 표시하게 만드는 방법은 무엇입니까?

printenv가 특정 환경 변수와 관련된 세부 정보만 출력에 표시하도록 하려면 해당 변수의 이름을 명령에 대한 입력으로 전달하기만 하면 됩니다.

예를 들면 다음과 같습니다.

printenv SHELL

다음은 이 명령으로 생성된 출력입니다.

/bin/bash

물론 입력 목록에 더 많은 변수를 추가할 수 있습니다. 예를 들어, 다음 명령:

printenv SHELL HOME

아래와 같은 출력이 생성되었습니다.

/bin/bash
/home/himanshu

Q3. printenv가 줄 바꿈 대신 NUL을 사용하도록 만드는 방법은 무엇입니까?

기본적으로 printenv 명령은 출력 항목 사이의 종료 문자로 개행 문자를 사용합니다. 그러나 원하는 경우 도구에서 종결자로 NUL을 대신 사용하도록 할 수 있습니다.

이를 위해 --null 명령줄 옵션을 사용해야 합니다. 다음은 예입니다.

printenv --null SHELL HOME

다음은 --null 옵션 없이 printenv를 사용할 때와 비교하여 생성된 출력의 스크린샷입니다.

결론

Linux 명령줄 작업에 환경 변수 처리가 포함되는 경우 printenv 명령은 기억해야 할 중요한 도구입니다. 이 자습서에서는 이 도구가 제공하는 대부분의 옵션에 대해 설명했습니다. 이러한 연습을 마치면(학습 곡선이 가파르지 않으므로 시간이 걸리지 않음) printenv 매뉴얼 페이지로 이동하여 이 명령줄 유틸리티에 대해 자세히 알아볼 수 있습니다.