강좌
클라우드/리눅스에 관한 강좌입니다.
리눅스 분류

레벨237-1 : 쉘변수 확인 및 현재사용계정의 쉘변수와 쉘변수값 확인하는 env 개론과 활용

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

레벨237-1 : 쉘변수 확인 현재사용계정의 쉘변수와 쉘변수값 확인하는 env 개론과 활용

 

리눅스에서 쉘변수들을 확인할 있는 명령어는 3가지가 있습니다. 이번 장에서 설명하고 있는 env printenv, 그리고 declare입니다. 따라서 이번 장의 내용과 함께 printenv, 그리고 declare명령어편을 함께 공부하시기 바랍니다.

 

3가지를 간략하게 구분하여 말씀 드린다면 다음과 같습니다.

 

env 쉘변수들을 리스트하는 것이 기본적인 목적이지만 쉘변수들에게 특정 값을 할당하거나 변경(Set each NAME to VALUE in the environment and run COMMAND.)하는 명령어입니다. 

 

그리고 printenv 쉘환경변수들의 부분 또는 전체를 출력하는 명령어(print all or part of environment)입니다.

 

마지막 declare 쉘환경변수를 선언하는 용도로 사용됩니다. 하지만, 변수리스트를 출력하는 목적으로도 사용되기도 합니다.

 

3가지의 차이점을 구분해서 기억해 두시기 바랍니다. 이번 장에서는 env 대해서만 설명합니다.  설명드린바와 같이 env "environment" 약어로서 쉘변수를 확인하거나 쉘환경에서 명령을 수행하는 명령어입니다.  가장 흔히 사용하는 "env"용도로는 현재 사용하고 있는 계정의 쉘변수들을 출력하는 것입니다. 말씀드린바와 같이 명령어는 printenv 함께 익혀두셔야 합니다.

 

명령어위치 : /bin/env

 

사용형식

 

       env [-] [-i] [-u name] [--ignore-environment] [--unset=name] [--help]
           [--version][name=
]... [명령 [인수...]] env

 

다음과 같이 "env"라고 하면 현재 사용하고 있는 사용자계정의 쉘변수들을 모두 확인 있습니다.  아래의 결과 첫번째 행의 HOSTNAME이라는 쉘변수가 있으며 변수에 저장된 값은 file.superuser.co.kr입니다.

 

[root@su249 test]# env

HOSTNAME=su249.com

TERM=vt100

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=192.168.0.150 2492 22

QTDIR=

OLDPWD=/root

QTINC=/include

SSH_TTY=/dev/pts/4

USER=root

LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01: 35:*.svg=01;35:*.aac=00;36:*.au=00;36:*.flac=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:

CCACHE_DIR=/var/cache/ccache

SSH_AUTH_SOCK=/tmp/ssh-DHqvDW2752/agent.2752

MAIL=/var/spool/mail/root

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:

/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

INPUTRC=/etc/inputrc

PWD=/root/test

CCACHE_UMASK=002

LANG=ko_KR.eucKR

SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass

SHLVL=1

HOME=/root

SDL_AUDIODRIVER=esd

LOGNAME=root

QTLIB=/lib

CVS_RSH=ssh

SSH_CONNECTION=192.168.0.150 2492 192.168.0.249 22

LESSOPEN=|/usr/bin/lesspipe.sh %s

G_BROKEN_FILENAMES=1

_=/bin/env

[root@su249 test]#

 

그리고 세번째행에 보시면 우리가 흔히 확인하고 사용하는 SHELL이라는 변수명이 있으며 여기에 저장된 값이 /bin/bash이며 현재 사용자(필자) 사용하고 있는 쉘입니다.

 

또한 env 확인 있는 아래 결과들의 변수들은 echo명령어로 하나씩 확인 수도 있습니다. 예는 다음 사용예에 나와 있습니다.

 

 

env 아무런 옵션 없이 실행하는 결과와 printenv 동일한 결과를 출력합니다.  아래의 예는 printenv 결과를 출력한 것입니다.

 

[root@su249 test]# printenv

HOSTNAME=su249.com

TERM=vt100

SHELL=/bin/bash

HISTSIZE=1000

SSH_CLIENT=192.168.0.150 2492 22

QTDIR=

OLDPWD=/root

QTINC=/include

SSH_TTY=/dev/pts/4

USER=root

LS_COLORS=no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;

33;35:*.aac=00;36:*.au=00;36:*.flac=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:

CCACHE_DIR=/var/cache/ccache

SSH_AUTH_SOCK=/tmp/ssh-DHqvDW2752/agent.2752

MAIL=/var/spool/mail/root

PATH=/usr/kerberos/sbin:/usr/kerberos/bin:/usr/lib/ccache:/usr/local/sbin:/usr/local/bin:

/sbin:/bin:/usr/sbin:/usr/bin:/root/bin

INPUTRC=/etc/inputrc

PWD=/root/test

CCACHE_UMASK=002

LANG=ko_KR.eucKR

SSH_ASKPASS=/usr/libexec/openssh/gnome-ssh-askpass

SHLVL=1

HOME=/root

SDL_AUDIODRIVER=esd

id=bible

LOGNAME=root

QTLIB=/lib

CVS_RSH=ssh

SSH_CONNECTION=192.168.0.150 2492 192.168.0.249 22

LESSOPEN=|/usr/bin/lesspipe.sh %s

G_BROKEN_FILENAMES=1

_=/usr/bin/printenv

[root@su249 test]#

 

, 위의 예와 같이 printenv 결과는 앞의 예에서 확인했던 env결과와 동일함을 있습니다.

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,157 명
  • 현재 강좌수 :  36,515 개
  • 현재 접속자 :  262 명