Linux 시스템에서 환경 변수를 설정하는 방법

이 기사는 원래 Everything DevOps에 게시되었습니다.

소프트웨어를 구축할 때 개발 환경(로컬 컴퓨터)에서 시작합니다. 그런 다음 다른 환경(스테이징, QA 등)으로 이동하고 마지막으로 사용자가 애플리케이션을 사용할 수 있는 프로덕션 환경으로 이동합니다.

이러한 각 환경을 이동하는 동안 일부 구성 옵션이 다를 수 있습니다. 예를 들어, 개발 중에 실제 사용자 데이터가 있는 라이브 데이터베이스에 대해 다양한 구성 값이 있는 더미 데이터베이스로 작업을 테스트CRUD할 수 있습니다.

원활한 워크플로를 보장하고 다른 환경으로 이동할 때 코드에서 데이터베이스 구성을 정기적으로 변경할 필요가 없도록 각각에 대해 환경 변수를 설정할 수 있습니다.

이 자습서에서는 다음을 배웁니다.
  • 환경 변수는 무엇이며
  • Linux 시스템에서 환경 변수를 설정하는 방법.

  • 전제 조건



    이 자습서를 따르려면 다음이 있어야 합니다.
  • 단말기에 대한 기본 지식.
  • Linux 시스템에 대한 액세스 - 이 문서에서는 Ubuntu 22.04 (LTS) x64 배포판을 사용합니다.

  • 환경 변수란 무엇입니까?



    환경 변수는 값이 애플리케이션 코드 외부에서 설정되는 변수입니다. 일반적으로 운영 체제의 내장 기능을 통해 설정됩니다. 환경 변수는 이름과 값 쌍으로 구성되며 특정 시점에서 참조할 수 있도록 원하는 만큼 만들 수 있습니다.

    Linux 시스템에서 환경 변수 설정



    Linux 시스템에서 환경 변수를 설정하려면 일반적으로 터미널의 셸 세션에서 다음과 같이 각 환경 변수의 이름 및 값에 대해 export 명령을 실행합니다.

    export ENVIRONMENT_VARIABLE_NAME = <value>
    

    그러나 이렇게 하면 특정 셸 세션이 종료되면 모든 환경 변수가 손실됩니다. export 명령이 Linux 시스템 환경이 아닌 셸 세션의 환경으로 변수를 내보내기 때문에 모든 환경 변수가 손실됩니다.

    Linux 시스템에서 환경 변수를 유지하려면 응용 프로그램 디렉터리 이외의 디렉터리에서 다음 명령을 사용하여 vi 편집기로 환경 파일을 만듭니다.

    $ vi .env
    

    위의 명령은 .env 파일을 생성하고 연 다음 vi 편집기를 사용하여 파일을 편집하려면 i를 누르고 아래 이미지와 같이 환경 변수를 추가합니다.



    환경 변수를 추가한 후 파일을 저장하려면 esc 를 누른 다음 :wq 를 입력하고 enter 를 누릅니다.



    파일을 저장한 후 Linux 시스템의 루트 디렉터리에서 $ ls -la를 실행하여 숨겨진 파일을 포함한 모든 파일을 봅니다. 그러면 아래 이미지와 같이 .profile가 표시됩니다.


    $ vi .profile로 프로필 파일을 열고 i를 눌러 파일을 편집하고 파일 끝에 다음 구성을 추가합니다.

    set -o allexport; source /<path_to_the_directory_of_.env_file>/.env; set +o allexport
    

    위의 구성은 .env 파일에 추가한 모든 환경 변수를 반복하고 Linux 시스템에서 설정합니다.



    구성을 저장하려면 esc 를 누른 다음 이전과 같이 :wq를 입력하고 enter를 누릅니다.

    구성이 적용되고 환경 변수가 설정되었는지 확인하려면 현재 셸 세션에서 로그아웃했다가 다시 로그인한 후 다음을 실행합니다.

    $ printenv 
    

    위의 명령을 실행하면 아래 이미지와 같이 환경 변수가 표시됩니다.



    결론



    이 자습서에서는 환경 변수를 설명하고 Linux 시스템에서 환경 변수를 설정하는 방법을 가르쳤습니다. Linux의 환경 변수에 대해 더 많은 것을 배울 수 있습니다. 자세히 알아보려면 다음 리소스를 확인하세요.
  • Environment Variables in Linux/Unix
  • How to Set and List Environment Variables in Linux
  • List of Environment Variables in Linux/Unix
  • 좋은 웹페이지 즐겨찾기