환경변수 호환 문제

이웅희의 이미지

c로 프로그램을 짜고 있습니다.

A라는 프로그램 상에서

putenv("AAA=BBBB");

를 실행시켰는데

A라는 프로그램 안에서

char* temp = getenv("AAA");
printf("%s\n",temp);

를 하면

BBBB

가 잘 나오는데

프로그램 컴파일 후 그 프로그램을 실행한 후에

echo $AAA

를 하면 AAA: Undefined variable.

이 나오네요.

환경변수를 프로그램 별로 호환되게 하는 방법은 없나요?

M.W.Park의 이미지

조금 착각을 하고 계신듯 합니다.
환경변수는 그 변수를 설정한 프로세스와 그 프로세스의 자식들만 공유합니다.

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

-----
오늘 의 취미는 끝없는, 끝없는 인내다. 1973 法頂

이웅희의 이미지

A라는 프로그램과 B라는 프로그램간의 값을 공유하기 위한 방법은 파일 I/O밖에 없나요?
문제는 ARGUMENT를 사용할 수 없는 상황이라...

terzeron의 이미지

공유하려면 자신이 사용하는 shell의 startup script(.cshrc, .bashrc, .profile, ...)에 설정해주면 되죠.

unipro의 이미지

IPC를 검색해보세요.
----
내 블로그: http://unipro.tistory.com

내 블로그: http://unipro.tistory.com