레벨231-4 : 쉘환경변수와 쉘내장변수
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,550 조회
- 1 추천
- 목록
본문
레벨231-4 : 쉘환경변수와 쉘내장변수
쉘(SHELL)에는 여러 가지 변수들이 있습니다. 가장 대표적인 변수는 쉘환경변수와 쉘내장변수입니다. 이번 절에서는 이러한 쉘의 변수들에 대해서 알아보도록 하겠습니다.
다음은 리눅스 설치시에 이미 정의되어 있는 쉘(SHELL)환경변수들입니다.
[root@su249 ~]# env HOSTNAME=su249.com TERM=vt100 SHELL=/bin/bash HISTSIZE=1000 SSH_CLIENT=192.168.0.159 2405 22 QTDIR= QTINC=/include SSH_TTY=/dev/pts/1 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; .mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36: CCACHE_DIR=/var/cache/ccache SSH_AUTH_SOCK=/tmp/ssh-vtemyQ2236/agent.2236 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 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.159 2405 192.168.0.249 22 LESSOPEN=|/usr/bin/lesspipe.sh %s G_BROKEN_FILENAMES=1 _=/bin/env [root@su249 ~]# |
위의 예에서 볼 수 있는 쉘환경변수들은 “=”왼쪽편에 있는 변수들(진하게 표시되어 있는것들)이고 “=”오른쪽에 있는 것들은 해당 쉘변수에 저장되어 있는 값입니다. 위의 쉘변수들 가운데 대표적인 몇가지를 설명하면 다음과 같습니다.
- HOSTNAME : 서버의 호스트명
- TERM : 현재 사용중인 터미널종류
- SHELL : 현재 사용자의 로그인쉘의 절대경로
- HISTSIZE : 사용한 명령어를 몇 개까지 저장할 것인가를 결정하는 값
- USER : 현재 사용자명
- MAIL : 사용자의 메일이 저장되어 있는 메일박스파일의 위치
- PATH : 외부명령어를 실행하였을 경우에 탐색할 명령어 탐색경로
다음은 쉘(SHELL)에 이미 내장되어(built-in)있는 쉘내장변수들입니다.
- $$ : 해당 프로세스의 PID값
- $? : 가장 최근에 실행한 명령의 종료값
- $# : 프로그램에 전달된 인수의 개수
- $0 : 명령수행시 명령의 이름을 기억하는 변수값
- $n : 전달된 n번째 인수(예: $1은 첫번째인수, $2는 두번째 인수등)
- $* : 전달된 인수들 전체를 하나의 문자열로 표시함
- $@ : 전달된 인수들 전체를 문자열의 목록(list)으로 표시함
- $! : 마지막으로 실행된 백그라운드 프로세스 PID값
쉘에 내장되어 있다는 것은 쉘파일(예: /bin/bash등)에 함께 들어 있다는 의미로서 쉘이 로딩(loading, 메모리에 올라와지면)되었을 경우에는 언제, 어디서든 실행이 가능하다는 의미입니다.
관련자료
-
이전
-
다음