본문 바로가기
리눅스/셸(Shell)

환경 변수 vs 셸 변수

by Junior Devops Engineer 2025. 1. 13.
반응형

개념 

  • 변수의 종류는 환경 변수(전역 변수)와 셸 변수(지역 변수)로 분류 
환경 변수(전역 변수) 셸 변수(지역 변수) 
전체 셸에서 사용 가능 
서브 셸에 상속 가능 
환경 변수 확인 : env
현재 로그인 된 셸에서만 사용 가능 
서브 셸에 상속 불가능 
환경 변수 확인 : set 

1. 주요 환경 변수 종류 

 

변수 설명 
PATH 실행 가능한 명령어를 검색할 디렉터리의 경로 목록, 셸 설정 파일 중 하나에 설정 
HOME 현재 사용자의 홈 디렉토리 절대 경로
HOSTNAME 현재 시스템의 네트워크 호스트 이름 
USER 현재 로그인한 사용자 이름 
DISPLAY X-window System 에서 화면에 출력을 제어하는 디스플레이 주소 
PS1 기본 셸 프롬프트 문자열 설정 (주로 명령어 입력 대기 표시) 
PS2 멀티라인 입력 대기 시 표시되는 셸 프롬프트 문자열 
PWD 현재 작업 디렉터리 절대 경로 
SHELL 사용중인 기본 셸의 절대 경로 
TERM 현재 터미널 유형 
TMOUT 셸의 자동 로그아웃 대기 시간 설정 
LANG 시스템 기본 언어 및 지역 설정 
PRINT 표준 환경변수 X, 시스템이나 스크립트 출력 관련 설정 지정
프린터와 관련된 사용자 정의 작업에 활용 
MAIL 새로운 메일이 도착했는지 확인하는 메일 저장 경로 

2. 환경 변수 설정 

 

명령어 설명
export 현재 셸과 하위 셸에서 사용할 수 있도록 변수 내보냄 
export 변수명 = 변수값 변수 정의 및 현재 셸과 하위 셸에 사용할 수 있도록 변수 내보냄 
echo $변수명 변수 값 출력 
export 변수명=$변수명:변수값  기존 변수값에 새 변수값을 추가 
unset 변수명 변수 삭제 

 

3. 예시 

  • 사용자가 MY_PATH라는 환경 변수를 생성하고, /usr/local/bin을 경로로 설정하려고 합니다.
    이후, 기존 MY_PATH에 /home/user/bin을 추가하고 값을 확인합니다.
    마지막으로 환경 변수를 삭제하시오. 
    • export MY_PATH=/usr/local/bin을 설정 
    • echo $MY_PATH 입력  
    • /usr/local/bin을 확인 
    • export MY_PATH=$MY_PATH:/home/user/bin을 설정 
    • echo $MY_PATH 입력 
    • /usr/local/bin:/home/user/bin을 확인 
    • unset MY_PATH 입력 
    • echo $MY_PATH로 빈줄이 나오는지 확인 

4. 프롬프트 설정 변경 

 

옵션 설명
\u 사용자 이름 표시 
\h 호스트 이름 표시 
\w 현재 디렉터리 (전체 경로)
\W 현재 디렉터리 (마지막 경로)
\$ 기본 사용자($) 또는 관리자(#) 표시
\t 현재 시간 (HH:MM:SS)
\d 현재 날짜 (요일, 월, 일)

 5. 예시

  • 시간 표시를 포함한 프롬프트를 나타내시오. 
    • 입력 : PS1="\t \u@\h:\w\$ "
    • 출력 : 21:30:12 user@hostname:/home/user$
  • 날짜와 시간을 포함한 프롬프트를 나타내시오. 
    • 입력 : PS1="\d \t \u@\h:\W\$ "
    • 출력 : Mon Jan 13 21:30:12 user@hostname:~$
  • 사용자와 호스트만 표시한 프롬프트를 나타내시오. 
    • 입력 : PS1="\u@\h$ "
    • 출력 : user@hostname$ 
 
 
반응형

'리눅스 > 셸(Shell)' 카테고리의 다른 글

환경 설정 파일 & Bash shell 주요 기능  (4) 2025.01.13
개념 & 종류  (5) 2025.01.13

댓글