Bash, Zsh 환경변수 설정 - export 사용 여부의 차이

aliases
No value
tags
No value
description
export를 사용하면 자식 프로세스에게 환경변수가 상속된다
status
ai response
project
false
area
false
resource
false
title
Bash, Zsh 환경변수 설정 - export 사용 여부의 차이
created
2025-03-06T11:24:23
updated
2025-03-06T11:25:34

Bash/Zsh 환경변수 설정: export 사용 여부의 차이

1. 환경변수 설정 방법

Bash 또는 Zsh에서 환경변수를 설정하는 방법에는 두 가지가 있습니다.

  1. export를 사용하지 않는 방법:

    MY_VAR="hello"
    
    • 이 방법은 현재 쉘에서만 변수를 사용할 수 있습니다.
    • 새로 실행되는 프로세스(예: bash, zsh)에서는 변수값이 유지되지 않습니다.
  2. export를 사용하는 방법:

    export MY_VAR="hello"
    
    • 이 방법은 현재 쉘뿐만 아니라 새로 실행되는 프로세스에도 변수가 유지됩니다.

2. 실험 결과

다음 실험을 통해 차이를 확인할 수 있습니다.

(1) export 없이 환경변수 설정

MY_VAR1="without_export"
echo $MY_VAR1  # 출력: without_export
bash -c 'echo $MY_VAR1'  # 출력: (빈 줄)

(2) export 사용하여 환경변수 설정

export MY_VAR2="with_export"
echo $MY_VAR2  # 출력: with_export
bash -c 'echo $MY_VAR2'  # 출력: with_export

3. 결론

이러한 개념은 .bashrc, .zshrc, .profile 등의 설정 파일에서 환경변수를 영구적으로 유지할 때도 중요하게 작용합니다.