환경변수 또는 예약 변수는 시스템 환경을 위해 사전에 미리 시스템에서 사용하고 있는 변수를 말한다.
셸 스크립트 작성시 활용하면 많은 도움이 된다.
다만 종류가 많기 때문에 기본적인 것은 알아두면 좋다.
예를 들어 보자.
환경 변수 중 HOME은 사용자의 홈 디렉터리 위치가 담긴 변수이다.
콘솔에서 echo $HOME을 입력하면 현재 로그인한 계정의 홈 디렉터리 위치를 보여준다.

환경 변수를 미리 배워 멋있는 셸 스크립트를 만들어 보자.
변수명 | 설명 | 실행 내용 |
BASH | BASH 셸 실행 파일 경로 | /usr/bin/bash |
BASH_ENV | 스크립트 실행 시 BASH 시작 파일을 읽을 위치를 보여주는 변수 | |
BASHPID | 현재 실행하고 있는 BASH의 PID | 3382 |
BASH_VERSION | 설치한 BASH 버전 | 5.1.8(1)-release |
COLUMNS | 현재 터미널이나 윈도우 터미널의 컬럼수. 터미널 창의 가로 길이에 따라 달라진다 | 80 |
DISPLAY | X 디스플레이 이름 | :0 |
FUNCNAME | 셸 스크립트에서 현재 사용하는 함수 이름 | |
HISTFILE | history 파일 경로 | /home/user01/.bash_history (현재 user01 계정으로 로그인한 상태) |
HISTFILESIZE | ~/.bash_history 파일에 입력한 명령을저장하는 개수 | 1000 |
HISTSIZE | history 내용이 저장되는 개수 | 1000 |
HOME | 사용자의 홈 디렉터리 | /home/user01 (현재 user01 계정으로 로그인한 상태) |
HOSTNAME | 호스트 이름 | localhost |
HOSTTYPE | 호스트 시스템 하드웨어 종류 | aarch64 |
LANG | 프로그램 사용 시 기본으로 지원되는 언어 | ko_KR.UTF-8 |
LINES | 터미널의 라인 수. 터미널 창의 세로 길이에 따라 달라진다. | 31 |
LOGNAME | 터미널에 로그인한 현재 사용자 이름 | user01 |
MACHTYPE | 시스템 하드웨어 종류. HOSTTYPE과비슷지만 더 상세하게 표시됨 | aarch64-redhat-linux-gnu |
메일 보관 경로 | /var/spool/mail/user01 | |
OSTYPE | 운영체제 종류 | linux-gnu |
PATH | 사용자가 입력한 명령어 파일을 찾는 디렉터리 경로 (콜론으로 구분함) | /home/user01/.local/bin:/home/user01/bin:/usr/local/bin:/usr/local/sbin:/usr/bin:/usr/sbin |
PS1 | 기본 프롬프트 스트링. 쉘에서 사용자의입력을 기다릴 때 나타나는 문자. 기본값은 [\u@\h \W]\$ | [\u@\h \W]\$ |
PS2 | 보조 프롬프트 스트링. 긴 문자 입력시나타나는 문자. 기본값은 > | > |
PS3 | 셸 스크립트에서 select 사용 시 나타나는 프롬프트 스트링 | |
PS4 | 셸 스크립트에서 디버깅 모드의 프롬프트 스트링. 기본값은 + | + |
PWD | 사용자가 현재 작업 중인 디렉터리 | /home/user01 (현재 user01 계정으로 로그인한 후 홈 디렉토리로 이동한 상황) |
SECONDS | 스크립트를 실행한 초 단위 시간 | 20 |
SHELL | 현재 로그인해서 사용하는 셸 | /bin/bash |
TERM | 현재 로그인한 터미널 프로그램 정보 | xterm-256color |
TMOUT | 지정 시간이 되면 로그아웃 하도록 설정했을 때 설정한 시간을 보여줌 | |
UID | 사용자 UID | 1000 |
USER | 사용자 이름 | user01 |
USERNAME | 사용자 이름 | user01 |
'셸 스크립트 (Shell Script)' 카테고리의 다른 글
[셸 스크립트] 6. 반복문 while 사용하기 (0) | 2024.06.11 |
---|---|
[셸 스크립트] 5. 반복문 for 사용하기 (0) | 2024.06.10 |
[셸 스크립트] 3. case 문 사용하기 (0) | 2024.06.09 |
[셸 스크립트] 2. if 문 사용하기 (0) | 2024.06.07 |
[셸 스크립트] 1. 출력문과 입력문 (1) | 2024.06.06 |