如何从源脚本中退出powershell?

问题描述:

考虑 “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进程?我不想抛出异常,这将是一个正常的终止。

您可以使用它代替:

[Environment]::Exit(0) 

但要注意 - 这将彻底退出PowerShell控制台。这是一个相当大的锤子。 :-)

一个更好的办法是在outer.ps1例如为:

trap { exit 0 } 

而且在inner.ps1做一个抛例如为:

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