답변1
사용자 인터페이스를 통해 사용자 애플리케이션에 대한 환경 변수를 설정하는 방법은 Windows와 Linux에서 다릅니다. 사용하는 Windows 인터페이스는 현재 세션과 향후 세션에서 변수 값을 변경합니다.
Linux에서는 환경 변수를 설정하는 전통적인 방법이 로그인 시 작동합니다. 이를 수행하는 방법은 다양하지만 로그인 시에만 읽는 파일을 변경하는 방법이 포함됩니다. 따라서 현재 세션에는 적용할 수 없습니다. 이를 위해 사용할 수 있는 기본 파일은 .profile
및 .pam_environment
이며 둘 다 홈 디렉터리에 있습니다.환경 변수를 설정하는 가장 좋은 distro/shell 독립적 방법은 무엇입니까?더 자세한 논의를 위해.
현재 세션에 대한 환경 변수를 설정하려면 애플리케이션을 시작하는 프로세스인 GUI 셸에서 설정해야 합니다. 실제 GUI 셸 옵션이 없기 때문에 Windows에서는 쉽습니다. (기술적으로 기본 쉘을 교체하는 것이 가능하지만 이를 수행하는 사용자는 거의 없습니다.) Linux에는 수백 가지의 가능한 GUI 쉘이 있습니다. GUI 쉘은 일반적으로창 관리자, 때로는 별도의 구성 요소데스크탑 환경. 창 관리자나 데스크탑 환경에서 환경 변수를 설정하는 표준 방법은 없습니다. 각 WM/DE에는 고유한 방법이 있습니다(불행히도 일부에는 방법이 없습니다).
환경 변수 변경과 관련이 없는 WM/DE는 edit 입니다 ~/.profile
. 기본 구문(다른 방법도 있음)은 다음과 같습니다.
export MYVAR='the value of the variable'
그런 다음 터미널을 시작하고(셸 실행) 해당 셸에 입력합니다.
. ~/.profile
그러면 환경 변수에 대한 새 값이 로드됩니다 .profile
. 그런 다음 해당 셸에서 프로그램을 실행하면 새 변수가 프로그램에 적용됩니다. 그러나 GUI 메뉴에서 직접 프로그램을 실행하면 해당 프로그램은 GUI 메뉴를 제공한 프로그램의 환경을 상속받게 되므로, 이 설정을 변경하려면 해당 프로그램에서 제공하는 수단(또는 그 일부로)을 사용해야 합니다. 컴패니언 프로그램) 데스크탑 환경).
답변2
/etc/environment
파일에 변수를 설정할 수 있습니다. 형식은 다음과 유사해야 합니다.
VARIABLE=value
변수 확장은 작동하지 않습니다 /etc/environment
. 이 변수를 사용하거나 필요로 하는 모든 프로세스를 다시 시작해야 합니다.
답변3
본질적으로 환경 변수는 환경 변수를 설정하는 프로세스/셸에 의해 시작된 모든 프로세스에서 사용할 수 있습니다.
Unix의 환경 변수는 셸 변수로 내보내집니다 export
. 예를 들어
MYVAR="my value"
export MYVAR
일반적으로 쉘 시작 파일에서 환경 변수를 설정합니다. 경우에 따라서는 bash
이 쉘은 ~/.bash_profile
다른 많은 쉘에서도 사용 됩니다 ~/.profile
.
/etc
/etc/profile
예를 들어 모든 사용자에 대한 환경을 사용자 정의하는 데 사용할 수 있는 시스템 전체 쉘 초기화 스크립트가 있습니다 .
환경 변수는 쉘 독립적인 방식으로 모든 사용자에 대해 전역적으로 설정할 수도 있지만 이를 수행하는 방법은 Unix 환경에 따라 다릅니다. 대부분의 BSD는 수정을 통해 이를 달성할 수 있지만 /etc/login.conf
일부 Linux는 /etc/environment
다른 메커니즘을 사용합니다.