[ 07.19 ] Linux (2)

Achivement Goals

PC에 저장하는 환경변수가 무엇인지 이해하고, 사용할 수 있다.
PC에 저장된 환경변수를 확인 명령어 : export
PC에 저장된 환경변수를 불러오기 명령어: dotenv
Node.js에서 환경변수를 영구적용하기 명령어: .env

🌜 PC 에 환경변수 설정하는 이유

자바스크립트에서 스코프와 클로저를 통해 전역변수 / 지역변수의 개념에 대해서 배운 적이 있다.

만약 전역변수에서 어떠한 값을 선언했다면 다른 파일에서는 전역변수를 사용할 수 없다.
하지만 export 를 해준다면 사용이 가능하다.
리눅스 환경에서도 비슷한 체제를 가진다.

예를들어 우리가 어떠한 API 를 사용하고 싶을때 회원가입 / 로그인을 거쳐야만 해당사이트의 API Key 를 가져올 수 있다. Open 이긴 하지만 아무에게나 줄 수 없기 때문이다.
이말은 즉 권한을 가진 사람이 아니라면 공개할 수 없다는 뜻이기도 한다.
네트워크에서 이 API key 가 공개될 수 있는 문제때문에 API key 를 PC 에 저장해두고 사용하는데 그냥 저장하는것이 아닌, 자바스크립트에서 변수를 할당한 것 처럼 PC 에서 사용하는 변수에 할당이 된다고 한다.

PC 시스템 자체에 전역변수를 설정하여 export 해주어 설정할 수 있는 것이다.
이 시스템에서 설정한 전역변수를 "환경변수" 라고 한다.

1. export

환경변수를 확인하는 명령어다.
터미널에서 export 를 치면 다음과 같이 나온다.

뭔소린지 하나도 모르겠지만 아무튼 이러한 환경변수들이 설정되있다고 한다.
형태를 보아하니 정말 선언형 형태로 되있긴 하다.
HOME = '/Users/2sook2' 요로켕.

만약 새로운 환경변수를 추가하고 싶다면 다음과 같이 작성한다.
주의할점은 할당등호(=) 에 공백을 쓰면 안된다.

export IAM='coding genius' 를 작성한 후 export 로 조회해보면?

IAM 이라는 환경변수에 "coding genius" 가 담겼다.


전체가 아닌 해당 변수만 확인하고 싶다면 echo 와 달러사인으로 조회 가능하다.

echo $환경변수명

2. dotenv

npm 모듈인 dotenv 는 자바스크립트에서 사용하는 환경변수 명령어다.
npm 모듈이기 때문에 npm init 으로 npm 환경에 들어간 후
npm i dotenv 명령어로 설치를 해야한다.

1. 환경변수 실행할 폴더에서 npm init 하기

여러가지 입력사항을 요구하는 명령어들이 뜬다.
작성해도 무방하지만 그냥 엔터를 쳐서 넘겨도 된다.


마지막으로 확인하는 문구까지 뜨고 또 엔터

2. npm i dotenv

dotenv 모듈 설치작업을 해주어 환경변수 접근에 가능하도록 한다.

설치작업이 완료되면 본격 폴더 안에 임의의 파일을 만들어 확인해본다. (nano index.js)

3. .env

node.js 의 내장객체로 process.env 와 보통 같이쓰이는 듯하다.
아까 만든 index.js 에 console.log(process.env) 를 작성해서 저장 후
터미널에서 node index.js 명령어를 치면 아까 export 와 출력한 객체와 똑같은 값을 출력한다.


export 와 값은 같지만 "객체" 형태라는 차이점이 있다.
보기에도 훨씬 편안한것 같다.

즉,
dotenv는 이어지는 콘텐츠 .env 파일를 환경변수로 사용할 수 있게 돕는다고 볼 수 있다.

좋은 웹페이지 즐겨찾기