OS 운영체제/LINUX

Environment Variables

yororing 2024. 3. 18. 17:44

목록

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