개발일지/컴퓨터지식

Mac 환경변수

E-room 2022. 8. 27. 18:15
728x90

환경변수란?

환경에 따라 프로그램의 동작에 영향을 미치는 값

 

A라는 프로그램은 B라는 폴더에 지정된 어떤 값을 읽어와 작업에 사용한다고 했을 때,

프로그램 A는 B폴더의 위치를 파악할 수 있어야 한다.

 

혼자만 사용하는 프로그램이라면 경로를 입력해주면 그만이지만, 여러 사람들에게 배포했을 경우

폴더 B의 경로가 모두 동일하다면 관계없지만 그렇지 않다면 폴더 B를 찾을 수 없어 프로그램 A는 정상적인 동작을 할 수 없다.


환경변수는 지역 환경변수와 전역 환경변수로 분류된다.

  • 지역 환경변수 : 환경변수를 생성한 특정 사용자만 사용할 수 있는 환경변수
  • 전역 환경변수 : 모든 사용자가 사용할 수 있는 환경변수

 

환경변수 임시 적용

터미널을 열고

# 지역 환경변수
hello="안녕하세요 라는 뜻"
hi=안녕

# 전역 환경변수
export goodbye="잘가 라는 뜻"
export bye=잘가

 

위와 같이 지역은 그냥 등호 표시를 이용하여 입력하면 되고,

전역은 export를 입력해준 뒤 뒤에 입력해주어야 한다.

 

또한, 등호(=) 앞 뒤에는 절대로 공백이 없어야 한다. 저장하고자 하는 값에 공백이 존재할 경우 따옴표로 감싸주어야 한다.

 

환경변수의 개별 값 확인하기

echo $hello   # 안녕하세요 라는 뜻
echo $hi      # 안녕
echo $goodbye # 잘가 라는 뜻
echo $bye     # 잘가

 

하지만 위의 방법은 말 그대로 임시 적용이기 때문에 터미널을 껐다키면 값이 초기화된다.

 

값이 없어 공백을 출력

 

지역 환경변수 영구 적용하기

지역 환경변수 설정은 홈 디렉터리의 .zshrc(.bashrc) 파일에서 한다.

cd ~
ls -a # 목록에 .zshrc 또는 .bashrc 를 찾아서 있는거로 입력
nano .zshrc # or .bashrc

입력 후 저장 해준 뒤 source .zshrc 를 입력하여 변경 사항을 적용시켜준다.

 

source .zshrc # 변경 사항을 적용 시켜준다
echo $hi # 안녕

 

 

전역 환경변수 영구 적용하기

전역 환경변수 설정은 루트 디렉터리의 etc 디렉토리 내에 있는 profile이라는 파일에서 한다.

읽기 권한만 있는 모습

하지만 기본적으로 권한이 r--r--r--으로 되어 있으므로 먼저 권한을 설정해주어야 한다.

cd /etc
sudo chmod 777 profile
# 비밀번호 입력 후 엔터

권한이 변경 된 모습

이후 지역 환경변수 설정하는 것처럼 하면 된다.

nano profile

source profile
echo $hi
# 안녕

 

 

추가로 터미널에 명령어 export를 입력하면 운영체제 내에 이미 설정되어 있는 환경변수 및 export 키워드를 통해 설정한 환경 변수들의 목록을 확인할 수 있다.

728x90