IT/리눅스

[Linux] 환경변수 확인 및 설정 방법

몬스터r 2023. 1. 3. 21:02

[Linux] 환경변수 확인 및 설정 방법 / export 명령어

 

 

오늘은 리눅스에서 설정되어 있는 환경변수를 확인하는 방법과, 설정할 환경변수를 추가하는 방법, 환경변수 변경 방법 등을 알아보도록 하겠다.

 

 

환경변수 확인 및 설정 방법


환경변수를 확인하려면 env나 set 명령어를 이용해야 하는데, set 명령어가 env 명령어보다 더 많은 환경변수를 출력하기 때문에 set 명령어를 사용하여 확인하는 것이 좋다. 하지만 set 명령어에는 모든 환경변수 설정값에 대한 내용도 들어있기 때문에 내용이 복잡하여 PATH나 shell 등 간단한 기본 환경변수를 확인하려면 env 명령어를 확인하는 것이 좋다.

 

 

확인 방법은 grep을 사용하여 확인하면 되는데, grep 사용법은 이전 게시글을 통해 확인하도록 하자.

 

[Linux] grep 명령어 사용법, 리눅스 문자열 검색

[Linux] grep 명령어 사용법, 리눅스 문자열 검색 오늘은 리눅스 사용자라면 몰라서는 안 될 grep 사용 방법에 대해 알아보자. 먼저, grep이라는 명령어는 파일 내에서 원하는 문자열을 포함한 줄을 출

lhc9763.tistory.com

 

[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