![Amazon Linux 2에서 환경 변수를 영구적으로 설정하는 방법](https://linux55.com/image/155467/Amazon%20Linux%202%EC%97%90%EC%84%9C%20%ED%99%98%EA%B2%BD%20%EB%B3%80%EC%88%98%EB%A5%BC%20%EC%98%81%EA%B5%AC%EC%A0%81%EC%9C%BC%EB%A1%9C%20%EC%84%A4%EC%A0%95%ED%95%98%EB%8A%94%20%EB%B0%A9%EB%B2%95.png)
Amazon Linux 2를 실행하는 EC2 인스턴스에서 영구 환경 변수를 설정하기 위해 여러 가지 방법을 시도했지만 그 중 어느 것도 사용자 및 로그인 세션 전반에 걸쳐 지속되지 않습니다.
모든 세션 동안 모든 사용자가 변수 값을 사용할 수 있도록 환경 변수를 성공적으로 설정할 수 있는 구체적인 구문과 절차는 무엇입니까?
지금까지 시도한 작업에는 인스턴스의 USERDATA 시작 스크립트 중에 다음 세 파일 각각에 값을 설정하는 작업이 포함되었습니다.
/etc/csh.cshrc
/etc/environment
/etc/profile
세 파일을 동시에 시도하는 대신 각 파일을 한 번에 하나씩 시도합니다.
Python을 사용해 보았지만 os.environ
역시 작동하지 않았습니다.
사용자 제안
@NasirRiley의 제안에 따라 이제 파일을 생성하여 인스턴스 시작 시퀀스 중에 setVars.sh
넣으면 작동합니다. /etc/profile.d
USERDATA
#!/bin/bash
export SOME_VAR_NAME=some-var-value
답변1
전달하는 것이 가장 좋습니다 /etc/profile.d
.
쉘 이름의 확장자를 사용하여 생성하려고 합니다. 예를 들어 이면 example bash
이 script.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