[Ubuntu] 환경변수 확인 및 설정

jadeco·2024년 8월 30일
0

환경변수는 운영체제에서 동작하는 애플리케이션과 시스템 구성에 중요한 역할을 합니다. Ubuntu에서는 이러한 환경변수를 확인하고 설정할 수 있습니다. 이번 글에서는 현재 설정된 환경변수를 확인하는 방법과 새로운 환경변수를 추가하는 다양한 방법을 알아보겠습니다.

1. 현재 적용된 환경변수 확인 명령어

Ubuntu에서 현재 적용된 환경변수를 확인하는 방법은 매우 간단합니다. 아래 명령어를 터미널에 입력하면, 현재 세션에 적용된 모든 환경변수를 확인할 수 있습니다.

printenv

또는 echo 명령어를 사용해도 비슷한 결과를 얻을 수 있습니다.

echo $PATH

이 명령어는 시스템에 설정된 모든 환경변수를 출력합니다. 특정 환경변수만 확인하고 싶다면, printenv 뒤에 변수 이름을 입력하면 됩니다.

예시:

printenv PATH

또는 env 명령어를 사용해도 비슷한 결과를 얻을 수 있습니다.

env

이 명령어 역시 현재 세션에서 사용 중인 모든 환경변수를 출력합니다.

2. 환경변수 추가 방법 여러 가지

환경변수를 추가하는 방법에는 여러 가지가 있습니다. 특정 세션에서만 적용할 수도 있고, 시스템 전역에 영구적으로 적용할 수도 있습니다.

일반 환경변수를 설정할 때 주의할 점:
1. 변수명은 대문자를 사용하는 것이 관례입니다.
2. 값에 공백이 포함된 경우 반드시 따옴표로 묶어야 합니다.
3. 등호(=) 앞뒤에 공백을 넣지 않아야 합니다.

2.1. 현재 세션에만 환경변수 추가

현재 터미널 세션에서만 환경변수를 추가하려면, 아래와 같이 명령어를 입력합니다.

export VARIABLE_NAME="value"

예시:

export MY_VARIABLE="Hello, World!"

이렇게 하면 MY_VARIABLE이라는 환경변수가 현재 세션에서만 사용 가능합니다. 터미널을 종료하면 이 설정은 사라집니다.

2.2. 영구적으로 환경변수 추가 (개인 사용자)

개인 사용자 환경에서 영구적으로 환경변수를 추가하려면 ~/.bashrc 또는 ~/.bash_profile 파일에 환경변수를 추가할 수 있습니다.

nano ~/.bashrc

파일의 마지막에 아래와 같이 환경변수를 추가합니다.

# 1. 새로운 값을 변수에 완전히 대체합니다.
export VARIABLE_NAME="value"

# 2. 기존의 시스템 경로를 유지하면서 새 경로를 추가합니다.
export PATH="/새/디렉토리/경로:$PATH"

예시:

# 1
export MY_VARIABLE="Hello, Ubuntu!"

# 2
export PATH=$PATH:/home/ubuntu/Document

파일을 저장하고 종료합니다.

  • 파일을 저장하려면, Ctrl + O를 누른 후 Enter 키를 눌러 저장합니다.
  • 에디터를 종료하려면, Ctrl + X를 누릅니다.

아니면 nano 명령어를 사용하지 않고

# 1.
echo 'export MY_VARIABLE="Hello, World!"' >> ~/.bashrc

# 2.
echo 'export PATH=$PATH:/home/ubuntu/Document' >> ~/.bashrc

변경 사항을 적용하려면 시스템을 재부팅하거나, 아래 명령어를 통해 새로운 세션을 시작합니다.

source ~/.bashrc

이제 MY_VARIABLE은 해당 사용자 계정에서 영구적으로 설정됩니다.

전문

# PATH 변수 수정
export PATH="/새/디렉토리/경로:$PATH"

# 일반 환경변수 설정
export MY_VARIABLE="Hello, Ubuntu!"

# 현재 설정된 환경변수 확인
echo $PATH
echo $MY_VARIABLE

# ~/.bashrc 파일에 영구적으로 환경변수 추가
echo 'export PATH="/새/디렉토리/경로:$PATH"' >> ~/.bashrc
echo 'export MY_VARIABLE="Hello, Ubuntu!"' >> ~/.bashrc

# 변경사항 즉시 적용
source ~/.bashrc

보통은 여기까지의 방법을 사용하여 환경변수를 설정합니다.
아래는 Optional한 방법입니다.


2.3. 시스템 전역에서 환경변수 추가 (모든 사용자)

모든 사용자에게 적용되는 시스템 전역의 환경변수를 설정하려면, /etc/environment 파일을 편집하거나 /etc/profile 파일을 편집합니다.

sudo nano /etc/environment

파일에 새로운 환경변수를 추가합니다.

VARIABLE_NAME="value"

예시:

MY_GLOBAL_VARIABLE="Global Value"

파일을 저장하고 종료합니다.

  • 파일을 저장하려면, Ctrl + O를 누른 후 Enter 키를 눌러 저장합니다.
  • 에디터를 종료하려면, Ctrl + X를 누릅니다.

변경 사항을 적용하려면 시스템을 재부팅하거나, 아래 명령어를 통해 새로운 세션을 시작합니다.

source /etc/environment

또는 /etc/profile을 편집합니다.

sudo echo 'export PATH=$PATH:/opt/myapp/bin' >> /etc/profile

2.4. 특정 애플리케이션에만 환경변수 추가

특정 애플리케이션에만 환경변수를 설정하려면 해당 애플리케이션을 실행할 때 환경변수를 지정할 수 있습니다.

VARIABLE_NAME="value" command_to_run

예시:

MY_TEMP_VARIABLE="Temporary Value" ./my_application

이 경우, MY_TEMP_VARIABLEmy_application이 실행되는 동안에만 사용됩니다.

2.5. 이후 생성되는 계정에 환경변수 적용

새로운 사용자 계정을 생성할 때, 기본적으로 적용되는 환경변수를 설정하고 싶다면 /etc/skel/.bashrc 파일에 환경변수를 추가할 수 있습니다. 이 파일은 새로운 계정이 생성될 때 해당 계정의 ~/.bashrc로 복사됩니다. 따라서, 모든 새 계정에 동일한 환경변수를 적용할 수 있습니다.

설정 방법:

  1. /etc/skel/.bashrc 파일을 편집합니다.

    sudo nano /etc/skel/.bashrc
  2. 파일의 끝부분에 추가할 환경변수를 입력합니다.

    export PATH=$PATH:/usr/local/sysmate/bin
  3. 파일을 저장하고 종료합니다.

    • 파일을 저장하려면, Ctrl + O를 누른 후 Enter 키를 눌러 저장합니다.
    • 에디터를 종료하려면, Ctrl + X를 누릅니다.

이 예시에서는 새로 생성되는 모든 계정에서 PATH 변수에 /usr/local/sysmate/bin 경로가 추가됩니다. 이제 새로운 사용자 계정을 생성할 때마다, 이 환경변수가 자동으로 설정됩니다. 예를 들어, useradd 명령어나 Ubuntu의 GUI를 통해 새 계정을 만들 경우, 해당 계정의 ~/.bashrc 파일에 위에서 추가한 환경변수가 포함되게 됩니다.

3. 환경 변수 삭제

필요하지 않은 환경 변수를 삭제하고자 할 때는 unset 명령어를 사용합니다. 이 명령어를 통해 현재 세션에서 환경 변수를 제거할 수 있습니다.

사용 방법:

환경 변수를 삭제하려면 다음과 같이 unset 명령어 뒤에 변수명을 입력합니다.

unset VARIABLE_NAME

예시:

unset MY_VARIABLE

이 명령어를 실행하면 MY_VARIABLE이라는 환경 변수가 현재 세션에서 제거됩니다. 이 변경 사항은 현재 세션에만 적용되며, 세션을 종료하거나 새로 열 경우 해당 변수는 다시 설정될 수 있습니다(만약 ~/.bashrc/etc/environment에 설정되어 있다면).

주의사항:

  • unset 명령어는 영구적으로 환경 변수를 제거하지 않습니다. 영구적으로 삭제하려면, 환경 변수가 정의된 파일(~/.bashrc, ~/.profile, /etc/environment 등)에서 해당 변수를 수동으로 삭제해야 합니다.
  • 시스템에서 중요한 환경 변수를 잘못 삭제하지 않도록 주의해야 합니다.

결론

Ubuntu에서 환경변수를 확인하고 설정하는 방법은 매우 다양합니다. 일시적인 세션에 적용하거나, 특정 사용자 또는 시스템 전역에 영구적으로 설정할 수 있습니다. 지금까지 소개한 방법을 사용하면, 환경변수를 관리하고 시스템을 보다 효율적으로 사용할 수 있을 것입니다.

profile
당신도요

0개의 댓글