2013-06-11 1 views
2

"outer.ps1"을 고려해 단지 종료 "inner.ps1"을 소싱소스 스크립트에서 powershell을 종료하는 방법은 무엇입니까?

"in outer.ps1" 
. .\inner.ps1 
"in outer.ps1 after sourcing inner.ps1" 

:

exit 0 

나는 "outer.ps1"를 실행 출력은 그 출구는 수익을 나타냅니다 "inner.ps1"에서 :

in outer.ps1 
in outer.ps1 after sourcing inner.ps1 

inner.ps1에서 powershell 프로세스를 종료 할 수 있습니까? 나는 예외를 던지기를 원하지 않는다. 이것은 정상적인 종료 일 것이다. 완전히 PowerShell을 콘솔을 종료합니다 -

[Environment]::Exit(0) 

을하지만 경고 :

답변

3

대신이를 사용할 수 있습니다. 그것은 꽤 큰 망치입니다. :-)

더 좋은 방법은 outer.ps1 예컨대 :

trap { exit 0 } 

그리고 inner.ps1에서

가 던져 예컨대 :

throw "Inner.ps1 done!" 
을 할 수있는 트랩 처리기를 사용하는 것입니다
관련 문제