[Linux] 환경변수 확인 및 설정 방법 / export 명령어
오늘은 리눅스에서 설정되어 있는 환경변수를 확인하는 방법과, 설정할 환경변수를 추가하는 방법, 환경변수 변경 방법 등을 알아보도록 하겠다.
환경변수 확인 및 설정 방법
환경변수를 확인하려면 env나 set 명령어를 이용해야 하는데, set 명령어가 env 명령어보다 더 많은 환경변수를 출력하기 때문에 set 명령어를 사용하여 확인하는 것이 좋다. 하지만 set 명령어에는 모든 환경변수 설정값에 대한 내용도 들어있기 때문에 내용이 복잡하여 PATH나 shell 등 간단한 기본 환경변수를 확인하려면 env 명령어를 확인하는 것이 좋다.
확인 방법은 grep을 사용하여 확인하면 되는데, grep 사용법은 이전 게시글을 통해 확인하도록 하자.
[2023-01-03 02:44:59 ~]
[root@haechan ~]# env | grep -w PATH
PATH=/usr/lib64/openmpi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
# env 명령어 사용
[2023-01-03 02:45:06 ~]
[root@haechan ~]# set | grep -w PATH
PATH=/usr/lib64/openmpi/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin
local cmd PATH=$PATH:/sbin;
PATH=$PATH:/usr/sbin:/sbin:/usr/local/sbin type $1 &>/dev/null
COMPREPLY=($( compgen -W "$( PATH="$PATH:/sbin" lsmod | awk '{if (NR != 1) print $1}' )" -- "$1" ))
local PATH=$PATH:/sbin;
local PATH="$PATH:/sbin:/usr/sbin";
COMPREPLY+=($( compgen -W "$( PATH="$PATH:/sbin" lspci -n | awk '{print $3}')" -- "$cur" ))
local PATH=$PATH:/sbin:/usr/sbin:/usr/local/sbin;
COMPREPLY+=($( compgen -W "$( PATH="$PATH:/sbin" lsusb | awk '{print $6}' )" -- "$cur" ))
# set 명령어 사용
환경변수 설정 방법에는 두 가지가 있다. 하나는 터미널에서 적용하는 것과 /etc/bashrc 파일을 통해 적용하는 방법이다.
터미널에서 적용하는 방법은 임시로 설정하는 것이기 때문에 로그아웃 할 때 설정값은 초기화되고, /etc/bashrc 파일을 통해 적용하는 방법은 파일 내부에서 내용을 따로 삭제하지 않는 이상 reboot 되더라도 적용된다.
터미널에서 임시적으로 적용하기
[root@haechan ~]# env | grep MYNAME
[root@haechan ~]# export MYNAME=haechan
[root@haechan ~]# env | grep MYNAME
MYNAME=haechan
# 재접속
[root@haechan ~]# env | grep MYNAME
터미널에서 export 명령어를 사용하여 PATH에 MYNAME 이라는 환경 변수를 만들었다. env에서 MYNAME이라는 환경변수가 검색되지만, 재접속 후 초기화된 것을 확인할 수 있다.
/etc/bashrc에 적용하기
[root@haechan ~]# env | grep MYNAME
[root@haechan ~]# grep -n MYNAME /etc/bashrc
93:export MYNAME="haechan"
[root@haechan ~]# . /etc/bashrc; env | grep MYNAME
MYNAME=haechan
# 재접속
[root@haechan ~]# env | grep MYNAME
MYNAME=haechan
/etc/bashrc 파일의 맨 아랫줄에 export MYNAME="haechan"이라는 줄을 추가했고, 환경변수로 등록된 것을 확인할 수 있다. /etc/bashrc에 등록되었기 때문에 재접속 해도 그대로 남아있는 모습이다.
또한 물론 사용자마다 다르게 설정도 가능하다. 사용자의 home directory의 .bashrc 파일에 /etc/bashrc처럼 환경변수를 추가하는 라인을 만들면 된다.
/home/사용자/.bashrc에 적용하기
[root@haechan ~]# env | grep MYNAME
MYNAME=haechan
[root@haechan ~]# su - haechan
Last login: Tue Jan 3 03:53:12 PST 2023 on pts/3
[haechan@haechan ~]$ env | grep MYNAME
MYNAME=haechan
[haechan@haechan ~]$ vim .bashrc
[haechan@haechan ~]$ . .bashrc; env | grep MYNAME
MYNAME=Im not haechan
환경변수에서 가장 자주 바꾸는 것 중 하나는 PATH인데, bashrc 파일에서 다음과 같이 설정하면 변경할 수 있다.
export PATH=/usr/lib64/openmpi/bin:$PATH
'IT > 리눅스' 카테고리의 다른 글
[Linux] ln 사용 방법 / 심볼릭 링크와 하드 링크 (0) | 2023.01.08 |
---|---|
[Linux] umask 설정 방법 (2) | 2023.01.05 |
[Linux] chgrp 사용 방법 / 파일 및 디렉토리 그룹 소유권 변경 (1) | 2023.01.01 |
[Linux] chown 사용 방법 / 파일 및 디렉토리 소유권 변경 (0) | 2023.01.01 |
[Linux] chmod 사용 방법 / 퍼미션 변경 (0) | 2022.12.30 |