Bog*_*mac 4 powershell powershell-2.0
考虑“outer.ps1”:
"in outer.ps1"
. .\inner.ps1
"in outer.ps1 after sourcing inner.ps1"
Run Code Online (Sandbox Code Playgroud)
来源“inner.ps1”,它刚刚退出:
exit 0
Run Code Online (Sandbox Code Playgroud)
当我运行“outer.ps1”时,输出表明出口只从“inner.ps1”返回:
in outer.ps1
in outer.ps1 after sourcing inner.ps1
Run Code Online (Sandbox Code Playgroud)
是否可以从inner.ps1退出powershell进程?我不想抛出异常,这将是一个正常的终止。
您可以改用它:
[Environment]::Exit(0)
Run Code Online (Sandbox Code Playgroud)
但请注意 - 它会完全退出 PowerShell 控制台。那是一个相当大的锤子。:-)
更好的方法是在 outer.ps1 中使用陷阱处理程序,例如:
trap { exit 0 }
Run Code Online (Sandbox Code Playgroud)
并在inner.ps1中做一个投掷,例如:
throw "Inner.ps1 done!"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
809 次 |
| 最近记录: |