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

쉘프로그래밍강좌004: 쉘환경변수와 쉘내장변수

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

쉘프로그래밍강좌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, 메모리에 올라와지면)되었을 경우에는 언제, 어디서든 실행이 가능하다는 의미입니다.

 

 

 

 

 

관련자료

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

공지사항


뉴스광장


  • 현재 회원수 :  60,043 명
  • 현재 강좌수 :  35,853 개
  • 현재 접속자 :  78 명