Environment Variable

minseok·2024년 12월 5일
post-thumbnail

💬 설명

  1. key-value 구조
  2. [프로세스, 서비스 실행 시, 사용자 환경 설정(shell script, home dircetory...)] 사용되는 설정 값

💬 주요한 환경 변수

"echo ${변수 이름}"을 통해 변수에 할당된 값을 출력할 수 있음

  • PATH : 많이 사용되는 실행 파일(executable)을 세팅(해당 환경 변수때문에 full path를 입력하지 않아도 실행시킬 수 있다. -> 숏컷 느낌)
  • HOME : 사용자의 HOME directory
  • USER : 사용자 이름
  • SHELL : 사용중인 default shell script (executable file)
  • TERM : ???
  • PWD : 현재 디렉토리
  • LD_LIBRARY_PATH :
  • PYTHONPATH : python module을 참조할 때 사용되는 path
  • JAVA_HOME : JDK or JRE directory

💬 view environment variables

printenv : 시스템에 등록된 env 변수 노출
set : shell 변수와 env 변수를 모두 보여줌

- shell 변수와 환경 변수의 차이

shell 변수 : 현재 쉘에서만 사용할 수 있는 변수, 서브 쉘에는 전달되지 않는다.
환경 변수 : 현재 쉘, 서브 쉘에서 공통으로 사용될 수 있는 전역 변수

💬 setting var

쉘 변수 설정하기

val="abc

환경 변수로 설정하기

val="abc"
export val 
export val2="zcx"

하지만 2가지 방법 모두 터미널이 꺼지면 사라진다. 쉘을 종료하거나 새로운 쉘에서도 사용하고 싶다면 ~/.bashrc or ~/.bash_profile or ~/.profile에 변수를 추가해 영구적으로 사용하도록 하자.

/etc/environment/etc/profile에 설정하면 모든 사용자에 적용할 수 있다.

💬 bashrc vs .bash_profile

bashrc : 로그인되지 않은 쉘에서도 사용될 수 있다.(프로그램을 통해 접근한 경우, A쉘에서 B쉘로 들어가는 경우)
bash_profile: 로그인한 쉘에서 사용된다. (직접 ssh로 접근한 경우)
profile: bash로 접근하는 경우는 bash_profile을 사용, bash로 접근하는 경우가 아니라면 profile 사용 (bash_profile이 없는 경우에도 사용)

profile
즐겁게 개발하기

0개의 댓글