"쉘 변수는 쉘 시작 프로세스가 시작되는 환경과 어떤 관련이 있습니까?"
나는 읽었다프로세스가 상위 프로세스의 환경을 상속하는 경우 이를 내보내야 하는 이유는 무엇입니까?
틀릴 수도 있는 나의 현재 이해는 쉘 변수가 환경에 없다는 것입니다. 자식이 부모로부터 변수를 상속받을 수 있도록 변수를 환경으로 내보내야 하지만 시작이 어디서 시작되는지는 알 수 없습니다.
답변1
"자녀가 부모로부터 변수를 상속받을 수 있도록 변수를 환경으로 내보내야 합니다"에 대한 현재 이해가 맞는 것 같습니다.
셸 이외의 프로세스에도 환경 변수가 있으며 해당 C 언어 인터페이스는 getenv()
and 및 setenv()
from 입니다 stdlib.h
. Unix, Linux 및 *BSD 운영 체제 쉘은 환경 변수를 상속되지 않은 일반 쉘 변수처럼 보이게 만듭니다.
따라서 귀하의 특정 질문에 대한 대답은 다음과 같습니다. 쉘 환경으로 내보낸 쉘 변수만 하위 프로세스 환경에 나타납니다.