programing tip

Linux : 환경 변수는 어디에 저장됩니까?

itbloger 2020. 11. 17. 07:51
반응형

Linux : 환경 변수는 어디에 저장됩니까?


터미널에 입력하면

export DISPLAY=:0.0

... 그 환경 변수를 저장하는 쉘은 어디에 있습니까?

Ubuntu 8.10을 사용하고 있습니다. ~ / .profile 및 / etc / profile 파일을 살펴 보았고 DISPLAY의 흔적을 찾을 수 없습니다.


프로세스의 환경 변수는 런타임에 존재하며 일부 파일 등에 저장되지 않습니다. 그것들은 프로세스 자체의 메모리에 저장됩니다 (아이들에게 전달되는 곳입니다). 하지만 가상 파일이

/ proc / pid / environ

이 파일은 프로세스를 호출 할 때 전달 된 모든 환경 변수를 보여줍니다 (프로세스가 메모리의 해당 부분을 덮어 쓰지 않는 한-대부분의 프로그램은 그렇지 않습니다). 커널은 가상 파일을 통해 볼 수 있도록합니다. 나열 할 수 있습니다. 예를 들어 프로세스 3940의 변수를 보려면 다음을 수행 할 수 있습니다.

cat /proc/3940/environ | tr '\0' '\n'

각 변수는 다음 변수와 이진 0으로 구분됩니다. tr은 0을 개행으로 대체합니다.


"set"을 입력하면 모든 현재 변수 목록이 표시됩니다. 무언가를 지속하려면 ~ / .bashrc 또는 ~ / .bash_profile (bash를 사용하는 경우)


시스템 전체에서 사용할 수 있도록 환경을 배치하려면 /etc/environment파일을 사용하면 됩니다.


프로세스 (쉘)에 저장되며 내보내기를 했으므로 프로세스가 생성되는 모든 프로세스가 생성됩니다.

위의 작업을 수행해도 / etc / profile과 같은 파일 시스템의 어디에도 저장되지 않습니다. 그렇게하려면 명시 적으로 배치해야합니다.


해당 변수는 일부 스크립트에 저장되지 않습니다. X 서버 스크립트에 의해 간단히 설정됩니다. 현재 사용 설정 한 환경 변수를 확인하실 수 있습니다 세트를 .

참고 URL : https://stackoverflow.com/questions/532155/linux-where-are-environment-variables-stored

반응형