본문 바로가기
Dev

환경변수

by Yoon_estar 2024. 1. 22.
728x90

환경 변수란?

프로세스가 컴퓨터에서 동작하는 방식에 영향을 미치는 동적인 값들의 모임

OS 입장에서 해당 프로세스를 실행시키기 위해 참조하는 변수

Path 변수는 운영체제가 어떤 프로세스를 실행 시킬 때, 그 경로를 찾는데 이용된다.

PATH → /APP/enhpc/mpi/openmpi-4.1.6-gnu/bin:${PATH}
리눅스에서는 이와 같이 경로를 입력해준다.
윈도우 에서는 자바 초기 설정할 때 Path 설정을 생각하면 된다.

환경 변수 읽는 순서(export)

~~/etc/rc.d/rc.sysinit > /etc/rc.d/rcN.d (N은 0~6 사이)~~ > /etc/rc.d/rc.local > /etc/profile > /etc/profile.d/* > /etc/bashrc > /etc/inputrc > $HOME/.bash_profile > $HOME/.bashrc > $HOME/.inputrc

전체 적용 환경 변수

전체 적용 환경 변수는 /etc 디렉토리 밑에 있다. 환경 변수의 경우 숨겨진 파일(히든 파일)로 되어 있다. 보통 이름 앞에 (.)이 붙어 있다. 숨겨진 파일을 조회하는 방법은 ls -al 옵션을 붙여하한다.

/etc/profile
일반적으로 전체 path 등 정보가 있다. 시스템 전역에 걸친 환경을 정의
user 접속하면 profile 파일 시작과 함께 /etc/profile.d 하위에 존재하는 shell들이 함께 실행된다.

/etc/profile.d/*.sh 또는 *.csh
시스템 부팅과 동시에 로딩되는 shell들이 존재
사용자 전체가 공통으로 할당받는 환경

/etc/bashrc
전체 쉘 실행 시에 필요한 정보가 있다. 
시스템 전반에 걸친 함수와 alias /etc/profile을 그대로 참조하여 사용하도록 되어 있는 하위 개념

사용자 적용 환경 변수

각 user의 홈 디렉터리에 존재한다.

~/.bash_profile
사용자의 path 정보 등이 존재
사용자 환경에 맞게 로그인 이후에 로딩되어 할당받는 변수들이 정의

~/.bashrc
shell 실행시 필요한 정보들이 존재
사용자 홈 디렉터리에 위치한 .bashrc는 로그인하거나 현재 터미널에서 다시 .bashrc를 로딩하면 즉각 환경이 반영

env
명령어를 사용하면 적용된 환경 변수를 확인할 수 있다.

접속한 세션에서만 적용

특정 사용자 세션에 대해 로컬로 환경변수를 설정할 수도 있다.

# export MY_PATH="/etc/myhome"
export 명령은 일반적으로 셸 환경에서 변수를 설정하는 데 사용됨

# echo $MY_PATH
환경 변수 설정 확인은 echo 명령어에 $를 붙여서 알 수 있다.

환경 변수 명령어

환경 변수 조회

전역 환경 변수 조회
# export
# env
# printenv

환경 변수 계층 구조

전역 환경 변수 조회
# export
# env
# printenv

환경 변수 설정 명령어

용도에 맞는 범위에 해당하는 환경 변수 파일 마지막 부분에 export 명령어를 통하여 환경변수를 
작성해준다.
EX) export JAVA_HOME=/usr/local/.../jdk

환경 변수 해제

unset [환경변수 명]

참고

환경 변수는 계정별로 다 따로 따로 설정해야하는데 그것을 한번에 처리해 주는 것이 NIC 이다.

'Dev' 카테고리의 다른 글

[Blog] 블로그 꾸미기 맥 터미널  (0) 2025.01.15
HAProxy VS NginX  (0) 2024.05.04
파이썬 VS 자바  (0) 2024.02.17
장고 vs 플라스크  (0) 2024.02.17
라이브러리(Library)  (0) 2024.01.22