getenv() 로 환경변수 읽어들일때..
글쓴이: iamcan / 작성시간: 월, 2006/10/16 - 3:34오후
getenv () 를 테스트 하는 문제인데요, 도대체 알수없이 막히네요..
리눅스에서 bash shell 을 사용중이고 사용자 정의 환경변수를 임의로 추가했습니다
다음은 getenv() 로 환경변수를 읽어들이는 소스입니다.
// 파일명 : env.out
#include.....
..
int main(){
char * env;
env=getenv("myenv");
printf("%s\n",env);
return 0;
}
배쉬 쉘에서 다음과 같이 임의의 환경 변수를 추가하였습니다.
$ myenv="asdf"
그리고 다음과 같이 실행해 봅니다.
$ ./env.out
(null)
왜! 왜 널값이 리턴되는걸까요..
저렇게 환경변수 추가 후에 set 명령으로 환경변수들을 찾아봐도 맨 마지막에 제가 추가한 myenv 가 분명히 나옵니다..
도대체 알수가 없네요. 도와주세요 ㅜㅜ
Forums:
$ export
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
오 감사합니다.
근데 export 가 정확히 어떤 키워드이구, 그냥 선언할때랑 차이같은건 알수 있을까요..?
알려주시면 대단히 감사하겠습니다^^
...추측컨데
export는 global한것이고
myenv="xxx"
이런것은 local한것 아닐까요?
export는 child process가
export는 child process가 access 가능하도록 만들어 주는 것입니다.
역은 성립하지 않습니다. 즉, child에서 export한 것은 parent에서는 access 불가능합니다.
참고: http://tldp.org/LDP/abs/html/
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
-----
오늘 나의 취미는 끝없는, 끝없는 인내다. 1973 法頂
와 이해했습니다~
감사합니다!^^
댓글 달기