본문 바로가기
OS 운영체제/LINUX

Environment Variables

by yororing 2024. 3. 18.

목록

00 환경변수란

01 환경변수 확인

02 환경변수 관리

00 환경변수란

01 환경변수 확인

0. 참조

  1. https://www.cherryservers.com/blog/how-to-set-list-and-manage-linux-environment-variables

1. printenv 사용

  • 모든 환경변수 확인
    • printenv
    • 결과값 예시
    • SHELL=/bin/bash
      PWD=/root
      LOGNAME=root
      HOME=/root
      LANG=C.UTF-8
      LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
      SSH_CONNECTION=24.148.23.154 2068 84.32.188.154 22
      EASTEREGG=You pay attention to detail, good job!
      USER=root
      SSH_CLIENT=24.148.23.154 2068 22
      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
      DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/0/bus
      SSH_TTY=/dev/pts/0
      _=/usr/bin/printenv
  • 특정 환경변수 확인
    • printenv <NAME>

2. env 사용

  • env
  • printenv와 비슷한 결과값을 출력하지만 _= 변수는 미포함
    • 이유: _= 변수는 special Bash parameter used to invoke a shell or shell script이기 때문
    • 최신 Linux 시스템 사용할 경우 _= 값은 env의 binary (e.g., /usr/bin/env) 위치일 것

3. echo 사용

  • echo $<variable_name>
    예) echo $PATH

02 환경변수 관리

1. 환경변수 설정 (일시적 - 현재 shell session동안만)

  • export 사용
    • export <NAME>='<value>'
      예) export LSF_ENVDIR = '/opt/LSF_TOP/conf
      결과값 예시) /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin 

2. 환경변수 설정 (영구적 - across different shell sessions)

  • 위의 설정은 쉘 세션에 접속해 있는 동안에만 설정되어있을 것
  • 즉, 로그아웃 후 재부팅시 위의 방법으로 만든 환경변수를 다시 설정해야할 것
  • 쉘 세션이 끝나더라도 영구적으로 환경변수를 설정하는 방법이 있음

1) .profile  파일 수정

  • 사용자의 home 경로에 있는 .profiile 파일을 수정하여 환경변수 추가/수정/삭제 가능
    • 방법:
      • 1. Change directory to the user’s home directory cd ~
      • 2. Open .profile file in a text editor (e.g. nano, vi, vim, etc.)
      • 3. Add the following line to the bottom of the file: export COOLSERVER='/opt/LSF/conf'
      • 4. Save the changes
      • 5. Source the .profile file
        • . <.profile파일이름>

3. 환경변수 삭제

  • unset 사용
    • unset <NAME>
      예) export LSF_ENVDIR = '/opt/LSF_TOP/conf
      결과값 예시) /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

 

 

참조

  1. https://www.cherryservers.com/blog/how-to-set-list-and-manage-linux-environment-variables

'OS 운영체제 > LINUX' 카테고리의 다른 글

find (파일 검색 명령어)  (0) 2024.04.05
swap (가상 저장 공간)  (0) 2024.04.04
tar (archive 파일 작업 명령어)  (0) 2024.03.28
scp (서버간 파일 복사 명령어)  (0) 2024.03.20
Linux 디렉토리 구조  (0) 2024.03.20