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

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 등의 설정 파일에서 환경변수를 영구적으로 유지할 때도 중요하게 작용합니다.