将变量从脚本范围中分离出来,以便在控制台会话中访问



出于调试目的,我想知道是否有办法在执行脚本的控制台中访问"脚本"范围内的变量。

这样我就可以运行我在控制台中测试的脚本,并在脚本运行后访问$Some_Var_Defined_In_The_Script。

这可能吗?当然,我只希望它用于调试目的,所以我正在寻找一个可以打开和关闭的开关。

如果你想要一些可以由开关参数控制的东西,你可以使用嵌套提示符:

$test = {
param ([switch]$debug = $false)
  $x = Get-Process
  if ($debug) {$host.EnterNestedPrompt()}
}
&test -debug

这会将您置于嵌套提示中,其中所有变量都可供检查。 输入"退出"以从嵌套提示符返回。

你可以像这样从shell运行脚本:

. .

\myscript.ps1

变量在完成后应该可用。

最新更新