쉘프로그래밍강좌004: 쉘환경변수와 쉘내장변수
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 2,137 조회
- 1 추천
- 목록
본문
쉘프로그래밍강좌004: 쉘환경변수와 쉘내장변수
쉘(SHELL)에는 여러 가지 변수들이 있습니다.
가장 대표적인 변수는 쉘환경변수와 쉘내장변수입니다.
이번에는 이러한 쉘의 변수들에 대해서 알아보도록 하겠습니다.
다음은 리눅스 설치시에 이미 정의되어 있는 쉘(SHELL)환경변수들입니다.
[root@RockyLinux01 ~]# env SHELL=/bin/bash HISTCONTROL=ignoredups HISTSIZE=1000 HOSTNAME=RockyLinux01 GUESTFISH_OUTPUT=\e[0m PWD=/root LOGNAME=root XDG_SESSION_TYPE=tty MODULESHOME=/usr/share/Modules MANPATH=/usr/share/man: GUESTFISH_RESTORE=\e[0m MOTD_SHOWN=pam HOME=/root LANG=ko_KR.UTF-8
………… 중략 …………
return $_mlstatus } _=/usr/bin/env [root@RockyLinux01 ~]# |
위의 예에서 볼 수 있는 쉘환경변수들은 “=”왼쪽편에 있는 변수들이고 “=”오른쪽에 있는 것들은 해당 쉘변수에 저장되어 있는 값입니다.
위의 쉘변수들 가운데 대표적인 몇가지를 설명하면 다음과 같습니다.
- HOSTNAME : 서버의 호스트명
- TERM : 현재 사용중인 터미널종류
- SHELL : 현재 사용자의 로그인쉘의 절대경로
- HISTSIZE : 사용한 명령어를 몇 개까지 저장할 것인가를 결정하는 값
- USER : 현재 사용자명
- MAIL : 사용자의 메일이 저장되어 있는 메일박스파일의 위치
- PATH : 외부명령어를 실행하였을 경우에 탐색할 명령어 탐색경로
다음은 쉘(SHELL)에 이미 내장되어(built-in)있는 쉘내장변수들입니다.
- $$ : 해당 프로세스의 PID값
- $? : 가장 최근에 실행한 명령의 종료값
- $# : 프로그램에 전달된 인수의 개수
- $0 : 명령수행시 명령의 이름을 기억하는 변수값
- $n : 전달된 n번째 인수(예: $1은 첫번째인수, $2는 두번째 인수등)
- $* : 전달된 인수들 전체를 하나의 문자열로 표시함
- $@ : 전달된 인수들 전체를 문자열의 목록(list)으로 표시함
- $! : 마지막으로 실행된 백그라운드 프로세스 PID값
쉘에 내장되어 있다는 것은 쉘파일(예: /bin/bash등)에 함께 들어 있다는 의미로서 쉘이 로딩(loading, 메모리에 올라와지면)되었을 경우에는 언제, 어디서든 실행이 가능하다는 의미입니다.
관련자료
-
이전
-
다음