shell script 관련..질문입니다.
글쓴이: irdeal / 작성시간: 토, 2005/04/02 - 11:10오전
현재 사용자는 root이고요
스크립트 개념도 부족하고 해서 연습을 하고 있는데요. wiki보면서요..
간단하게 패스 export해주는 것을 해보았는데 적용이 안되네요 왜 그럴까요? :(
export SDK=/home/irdeal/workarea/firmware export IRRE=/home/irdeal/refference export IRWO=/home/irdeal/workarea
이렇게 파일을 만들고요 실행권한주고 실행을 한다음에 printenv
로 확인을 해보면 환경설정에 포함이 안되있더군요 왜 그런가요?
$? 출력하면 세군데 다 0값으로 나와서 제대로 수행하는거 같은데..
좋은 하루 되세용 :) [/code]
Forums:
실행권한을 주고 실행하면 새로운 쉘이 뜨게 되고 그 쉘에서만 적용된다음
실행권한을 주고 실행하면 새로운 쉘이 뜨게 되고 그 쉘에서만 적용된다음 스크립트가 종료되면 같이 사라집니다.
. 명령을 사용하세요....
또는 source 명령으로 하셔도됩니다.
---
http://coolengineer.com
shell script 내에서 정의한 환경변수들은 shell script
shell script 내에서 정의한 환경변수들은 shell script가 실행될 동안만 유효합니다.
현재 사용중인 shell에서 shell script를 실행하면 새로운 shell이 생성되어서 실행되고 종료되기 때문입니다.
쉘 스크립트를 실행하는 방법은 다음과 같은 방법이 있습니다.
위의 2가지 실행스타일과 밑의 두가지 스타일은 각기 동작이 틀립니다.
위의 2가지 스타일의 경우 새로운 쉘이 생성되지 않고 실행됩니다.
따라서 스크립트내에서 정의한 환경변수들이 유지가 될 수 있습니다.
하지만 밑의 두가지 스타일의 경우 새로운 쉘이 생성되어서 스크립트가 실행되므로 스크립트내에서 정의한 환경변수들이 스크립트가 종료된 다음에 유지되지 않습니다.
또 하나 말하자면 위의 두가지 스타일은 새로운 쉘에서 실행되지 않고 현재 쉘에서 실행되므로 스크립트내에서 "exit 0"과 같은 코드를 사용하게 되면 현재 쉘이 닫혀버리게 됩니다.
명쾌한 답변에 감사드립니다.
명쾌한 답변에 감사드립니다. :D
제가 쉘스크립트에 대한 기본 개념이 부족했었네요.
또 하나 배워갑니다.
May The Force Be With You
irdeal
댓글 달기