shell상에서의 set으로 본 환경변수와의 차이는 뭐지요?

yanggak의 이미지

환경변수의 값을 보고싶은데...

쉘상에서 set을 입력하면 환경변수목록들이 나오잖아요...

프로그램에서 이와 같이 짜려고 main()의 세번째 인자를 char **env

로 받아들여서 출력을 하니깐

쉘에서의 set 으로 봤을때의 환경변수와 약간 차이가 있습니다...

내용이 더 적더군요... 무슨차이지요?

ssehoony의 이미지

정확한건 아니고 제기억 맞다면...
(정확하지 않지만 다른 분의 답변이 없어서 일단... ^^;)

env 에 있는건 export 한 변수들만 나오는건데
export 한 변수 값과 하지 않은 값의 차이는 (set 에서만 보이는 변수)
쉘이 자식 쉘을 만들때 export 한 변수는 넘겨주고 export 하지 않는
변수는 넘겨주지 않는 것으로 알고 있습니다.

export 키워드의 의미에 대해 좀 분석해 보면 알 수 있을 듯 하군요.

그럼 다른 고수님의 답변이 있길....