getenv... 의문점..
글쓴이: 익명 사용자 / 작성시간: 목, 2002/05/30 - 11:44오전
setenv, putenv, getenv 등으로 환경변수를 컨트롤 할 수 있죠..
근데, 좀 의문점이 있습니다.
shell#] echo $MAIL
--> /usr/mail/
로 환경변수가 등록되어 있다면야
int main()
{
char* temp = getenv("MAIL");
}
로 간단히 처리를 하겠지만
저는 제가 만든 쉘스크립에 있는 변수를 콜하고 싶거든요..
mysh.sh 라는 파일을 만들고
nation=korea
로 변수를 등록시킨 후에 getenv("nation") 의 식으로 콜을 하고 싶은데,
제 생각으로는 같은 프로세스 상에서 쉘을 실행 시키고 getenv를 호출하면 될듯 한데 말이죠..
즉,
fork -> execl(mysh.sh) -> getenv 의 순서로 말입니다.
그런데 언제나 null 값을 리턴합니다.
행여나 해서 콘솔상에서 ./mysh.sh 를 실행시킨 후에
echo $nation 하니.. 당연히 아무 문자도 나오지 않죠(-_-;)
어떤게 문제인지 감이 잘 안오네요.. 제 생각으로는 fork 후에 생성된 자식 프로세스에서 쉘스크립
과 getenv를 호출하니 될거 같은데요..
혹시 fork로 만들어진 자식이 쉘을 실행하는것 자체가 다른 프로세스를 생성시키는게 아닌가 하는 생
각도 들지만 setenv 같은 경우는 그렇지 않거든요..
조언 부탁 드립니다.
Forums:
Re: getenv... 의문점..
export nation
댓글 달기