[Linux] 리눅스 환경변수 활용

읽기전에

아래 내용은 모두 리눅스에서의 환경변수 활용을 얘기하고 있다. 그런데 아마 다른 OS도 마찬가지로 적용되지 싶다.

환경변수 정의는 위키백과

https://ko.wikipedia.org/wiki/환경_변수

환경변수 활용

PATH

환경변수의 정확한 이해는 위키백과에 있을것이고, 그냥 사용하는 입장에서 보자면 가장 많이 사용하는 용도로는 특정 프로그램(혹은 명령어)을 어느 폴더에서나 실행시킬 수 있게 PATH를 잡아주기 위해 사용한다. 예를들어 리눅스에서 /usr/bin/app/ 경로에 있는 now라는 프로그램을 실행하려면 /usr/bin/app 경로로 이동하여 now를 실행하거나 now가 있는 전체 경로를 입력하여 실행해야 한다. 그러나 만약 now를 환경변수 PATH에 등록해주면 어디서든 now라는 명령어만 치면 now가 곧바로 실행된다.

요즘도 그런지는 모르겠지만 윈도우에서 자바 개발을 위해 이클립스를 설치하고 꼭 자바 JDK를 환경변수로 등록해주는 절차가 필요했다. 이는 자바 JDK를 어디서든 실행하기 위한 것이다.

프로그램 입력값으로의 활용

환경변수의 가장 많이 쓰이는 예가 PATH이지만 다른 활용처들도 있다. 예를들어 소스코드에서 로그레벨(debug, warning, error, …)에 따라 출력되는 로그들이 다르게 되어있을때 로그레벨을 환경변수에서 읽어들이게 한다면 사용자는 터미널에 LOG_LEVEL=1, LOG_LEVEL=2와 같은 명령어로 환경변수만 입력하면 코드 수정 없이 상황에 따라 다른 로그레벨을 확인할 수 있다. 이거 생각보다 편하다.

기본값과 다른 세팅값이 필요할 때

gcc가 설치되어있는 PC에서 다른 UMPC에 사용되는 프로그램을 만들기 위해 크로스컴파일이 필요하다고 하자. 그런데 이 UMPC는 일반적인 gcc로는 컴파일이 안되고 제조사가 커스터마이징한 gcc로 컴파일을 해야한다. 이때 기본gcc, 커스터마이징된 gcc를 사용하는 환경변수 세팅 스크립트를 각각 만들어두고 필요할때 각 스크립트를 실행하며 환경변수를 적용할 수 있다.

Leave a Comment