2013-06-11 122 views
2

考慮 「outer.ps1」:如何從源腳本中退出powershell?

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

該消息人士 「inner.ps1」 剛剛退出:

exit 0 

當我運行 「outer.ps1」 輸出指示出口處僅回報from「inner.ps1」:

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

是否有可能從inner.ps1退出powershell進程?我不想拋出異常,這將是一個正常的終止。

回答

3

您可以使用它代替:

[Environment]::Exit(0) 

但要注意 - 這將徹底退出PowerShell控制檯。這是一個相當大的錘子。 :-)

一個更好的辦法是在outer.ps1例如爲:

trap { exit 0 } 

而且在inner.ps1做一個拋例如爲:

throw "Inner.ps1 done!" 
使用陷阱處理程序