Amazon Linux 2에서 환경 변수를 영구적으로 설정하는 방법

Amazon Linux 2에서 환경 변수를 영구적으로 설정하는 방법

Amazon Linux 2를 실행하는 EC2 인스턴스에서 영구 환경 변수를 설정하기 위해 여러 가지 방법을 시도했지만 그 중 어느 것도 사용자 및 로그인 세션 전반에 걸쳐 지속되지 않습니다.

모든 세션 동안 모든 사용자가 변수 값을 사용할 수 있도록 환경 변수를 성공적으로 설정할 수 있는 구체적인 구문과 절차는 무엇입니까?

지금까지 시도한 작업에는 인스턴스의 USERDATA 시작 스크립트 중에 다음 세 파일 각각에 값을 설정하는 작업이 포함되었습니다.

/etc/csh.cshrc
/etc/environment
/etc/profile

세 파일을 동시에 시도하는 대신 각 파일을 한 번에 하나씩 시도합니다.

Python을 사용해 보았지만 os.environ역시 작동하지 않았습니다.


사용자 제안

@NasirRiley의 제안에 따라 이제 파일을 생성하여 인스턴스 시작 시퀀스 중에 setVars.sh넣으면 작동합니다. /etc/profile.dUSERDATA

#!/bin/bash    
export SOME_VAR_NAME=some-var-value  

답변1

전달하는 것이 가장 좋습니다 /etc/profile.d.

쉘 이름의 확장자를 사용하여 생성하려고 합니다. 예를 들어 이면 example bashscript.sh호출됩니다.

/etc/profile.d/script.sh

내부 구문은 다음과 같습니다.

export SOME_VAR_NAME=some-var-value

환경에 변수를 추가하려면 새 셸 세션을 시작해야 하며, 로그아웃했다가 다시 로그인하면 됩니다. 다른 사용자가 동일한 작업을 수행하거나 다음에 로그인하면(그렇다면) 해당 변수가 다른 사용자의 환경에 추가됩니다. 아직 로그인하지 않았습니다.

참고: 쉘을 기반으로 얻은 shebang 라인은 실제로 필요하지 않습니다. 그냥 습관의 힘이라 가끔 스스로 바르기도 하는데, 아무 것도 아프거나 영향을 주지 않습니다. 원하시면 생략하셔도 됩니다.

답변2

그냥 첨부하세요~/.bash_profilefile 을
선택한 다음 변경 사항을 활성화(실행)합니다.

echo "export YOUR_ENV_VAR_NAME=your_env_var_value" >> ~/.bash_profile && \
source ~/.bash_profile

관련 정보