export (유닉스)

export

export는 유닉스와 유닉스 계열 운영체제에서 셸(command interpreter)이 환경 변수(environment variable)를 현재 셸과 그 하위 프로세스에 전달하도록 지정할 때 사용하는 내장(built‑in) 명령이다. 주로 Bourne 계열 셸(sh, bash, ksh, zsh 등)에서 제공되며, POSIX 표준에도 포함되어 있다.

개념 및 기능

  • 환경 변수 설정: export VAR=value 형태로 변수에 값을 할당하고 동시에 그 변수를 환경 변수로 내보낸다.
  • 이미 정의된 변수 내보내기: export VAR와 같이 변수명을만 지정하면, 해당 변수가 이미 존재할 경우 현재 셸의 환경 변수 목록에 추가한다.
  • 전체 내보내기: export -p 옵션을 사용하면 현재 셸에 내보내진 모든 환경 변수와 그 값이 export VAR='value' 형식으로 출력된다.

구문

export [ 옵션 ] [ 변수[=값] ... ]

주요 옵션

옵션 설명
-p 현재 내보낸 변수들을 export 명령 형식으로 출력한다.
-n 지정한 변수를 환경 변수 목록에서 제거한다(내보내기 해제).
-f 함수 정의를 환경에 내보낸다(일부 셸에서 지원).

주의: export 자체는 외부 프로그램이 아니며, 셸에 내장된 명령이므로 별도의 실행 파일이 존재하지 않는다.

사용 예시

# 변수 정의 및 내보내기
export PATH=$PATH:/usr/local/bin

# 기존 변수만 내보내기
export LANG

# 현재 내보낸 변수 확인
export -p

# 변수 내보내기 해제
export -n DEBUG

역사 및 표준

  • 초기 구현: export 명령은 원래 AT&T Bell Labs에서 개발된 Bourne 셸(sh)에 포함되었으며, 1979년 버전 7 Unix에 처음 등장하였다.
  • POSIX: IEEE Std 1003.1(2008) 표준(일명 POSIX.1)에서 exportset 명령의 기능 일부로 정의되지 않고, 독립적인 내장 명령으로 명시되고 있다.
  • 다른 셸: csh 계열에서는 setenv 명령이 동일한 역할을 수행한다.

관련 명령

  • unset – 변수 또는 함수 정의 제거
  • env – 지정된 환경 변수로 새로운 프로세스를 실행
  • set – 셸 변수와 옵션을 설정 (Bourne 계열에서 export와는 구별됨)
  • printenv – 현재 환경 변수를 출력

참고 문헌

  • POSIX.1-2008 (IEEE Std 1003.1) – Shell Command Language
  • 《The Unix Programming Environment》, Brian W. Kernighan, Rob Pike (1984)
  • Bash Reference Manual – Builtin Commands

본 항목은 확인된 기술 문서와 POSIX 표준에 기반하여 작성되었으며, 추가적인 상세 내용은 각 셸의 공식 매뉴얼(man bash, man ksh 등)에서 확인할 수 있다.

둘러보기

더 찾아볼 만한 주제