考虑“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进程?我不想抛出异常,这将是正常的终止。
答案 0 :(得分:3)
您可以改用:
[Environment]::Exit(0)
但要注意 - 它将完全退出PowerShell控制台。那是一个非常大的锤子。 : - )
更好的方法是在outer.ps1中使用陷阱处理程序,例如:
trap { exit 0 }
在inner.ps1中做一次抛出,例如:
throw "Inner.ps1 done!"