如何从源脚本中退出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!"
使用陷阱处理程序