Environment Variable (환경변수)

환경변수

프로그래밍에서 변수의 종류에는 전역변수(global variable)가 있고 지역변수(local variable)가 있습니다.
전역변수는 프로그램 전체에서 접근이 가능한 변수이고 지역변수는 함수 등과 같이 일정한 범위(scope) 내에서만 접근이 가능한 변수이죠.

환경변수(environment variable)은 전역변수보다 한단계 위라고 보면 되는데, 변수를 프로그램이 실행되는 환경(시스템)에 저장하여 해당 시스템의 모든 프로그램들이 사용할 수 있는 변수입니다.

흔히 환경변수를 인터넷에 검색하면 PATH에 대해서 많이 나오는데, PATH는 환경변수 중의 하나입니다. (PATH에 등록된 경로에 있는 실행파일들은 어디에서는 실행이 가능합니다.)

웹 개발에서는 특정한 값을 프로그램 코드에서 숨기기 위해서도 사용됩니다. github등의 온라인 코드 저장소를 사용하면 내가 만든 코드가 온라인에 공유가 되게 되는데, 이때 DB접속 username/password 등의 중요한 정보를 환경변수에 저장하여 소스코드에서 제거할 수 있습니다. 보안성이 향상되는 것이죠.

환경변수 설정방법 (윈도우)

시스템 >고급 시스템 설정 > 좌측 시스템 속성 메뉴 클릭 > 고급 탭 > 환경 변수 버튼 클릭

사용자 변수와 시스템 변수가 있는데, 어느쪽을 사용해도 됩니다.(시스템 변수는 전체 사용자에게 적용되는 변수이고, 사용자 변수는 현재 로그인된 사용자에게만 해당하는 변수입니다.)
위 화면에서 변수명과 변수 값을 입력해 주면 설정이 됩니다.

**command, git bash 등 terminal 프로그램을 실행중이라면, 환경변수 생성/수정 후 해당 프로그램을 재 실행해 주어야 적용이 됩니다.

환경변수 설정방법 (맥/리눅스)

맥/리눅스에서는 사용하는 shell에 따라 환경변수 설정하는 방법이 다릅니다. 여기서는 기본적으로 깔려 있는 bash를 기준으로 설명하겠습니다. 만약 다른 shell을 따로 설치하셨다면 해당 shell의 환경변수 설정하는 방법을 따라야 합니다.

기본 bash에서 환경변수 설정방법은 간단합니다. ~/.bash_profile 파일을 열어서 값을 추가해 주기만 하면 끝입니다. 만약 ~ 위치에 .bash_profile 파일이 없다면 생성해 주시면 됩니다.

값은 아래의 형태로 한줄에 하나씩 넣어줍니다.

export KEY="VALUE"

윈도우와 마찬가지로 현재 실행중인 terminal을 재실행해 주어야 변화가 적용이 됩니다.

printenv를 입력하면 현재 설정되어 있는 모든 환경변수들을 볼 수 있습니다.

$ printenv

댓글

S
Sean Park 2016.11.07
제가 ubuntu 16.04를 쓰는데, 터미널열고 su로 해서 파일목록 보니, .bash-profile은 없고 .profile이 잇더라고요. 그래서 .profile에 저 코드 집어넣었더니 안되네요 ㅠㅠ 조그만 더 상세히 설명해주실수있으신가요///
I
Ian H 2016.12.02
@Sean Park,
이건 사용하는 OS/bash마다 설정하는 방법이 다릅니다. 구글에 해당 OS, bash로 환경변수 설정법을 찾아보세요~ 일단 환경변수 쓰지 마시고 코드안에 직접 주소 넣어서 강의 진행하세요~~
쵸비 2017.12.18
안녕하세요 올려주신거 감사히 잘 보고 있습니다. 그런데 잘 모르겠는게 있는데 윈도우로 환경변수 설정할 때 변수명과 변수값은 뭘 입력해야 하는건가요? 똑같이 따라 치면 되나요?
I
Ian H 2017.12.18
@쵸비,
반갑습니다^^ 이 게시물은 환경변수에 대한 일반적인 내용을 전달하는 게시물이고, 현재 주소록 만들기 강좌를 따라하고 계시다면 다음 게시물에서 지시하는 내용을 변수명과 변수값으로 입력하시면 됩니다!
쵸비 2017.12.19
@Ian H,
아하~ 감사합니다!
-
-9 2019.09.19
I
Ian H 2019.09.19
@-9,
안녕하세요!
-
-10 2019.09.23
기존에 네이버 블로그 는 어디인가요 선생님?
I
Ian H 2019.09.23
댓글쓰기

이 글에 댓글을 다시려면 SNS 계정으로 로그인하세요. 자세히 알아보기

UP