4

考虑“outer.ps1”:

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

那个来源“inner.ps1”刚刚退出:

exit 0

当我运行“outer.ps1”时,输出表明退出仅从“inner.ps1”返回:

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

是否可以从 inner.ps1 退出 powershell 进程?我不想抛出异常,这将是一个正常的终止。

4

1 回答 1

5

您可以改用它:

[Environment]::Exit(0)

但请注意 - 它将完全退出 PowerShell 控制台。那是一个相当大的锤子。:-)

更好的方法是在 outer.ps1 中使用陷阱处理程序,例如:

trap { exit 0 }

并在 inner.ps1 中进行抛出,例如:

throw "Inner.ps1 done!"
于 2013-06-12T00:12:47.653 回答