От рамките на функция, как да видите резултата, който досега ще бъде върнат в конвейера

Наскоро ми се наложи да добавя междинна променлива към PowerShell скрипт, в противен случай New-Item резултатът ще бъде част от резултата на функцията:

      # Put in local varible, otherwise we will return it as part of the function result
      $Local:logDirectory = New-Item -ItemType directory -Path $Local:logDir
      Write-Host "Created directory '$Local:logDir'"
  }
  return "$Local:logDir\$LogFileName"

Докато отстранявам грешки в това, бих се радвал да мога да изхвърля (Write-Host или нещо подобно) текущите битове, които функцията вече е поставила на опашка, за да завърши в конвейера при връщане на функцията.

So:

От рамките на функция на PowerShell, как да видите резултата, който досега ще бъде върнат в конвейера


person Jeroen Wiert Pluimers    schedule 31.07.2014    source източник
comment
Не мисля, че това, което питате (изглед на елементи, които вече са изведени към конвейера във функция), е налично.   -  person Mike Shepard    schedule 31.07.2014


Отговори (1)


Използвайте PowerGUI (IDE на powershell), ще можете да вмъквате точки на прекъсване и да проверявате променливите по време на изпълнение.

http://en.community.dell.com/techcenter/powergui/m/

Можете също да използвате конвейер към Out-Null, т.е.

New-Item -ItemType directory -Path $Local:logDir | Out-Null

за да се отървете от фалшив изход. За съжаление може да се наложи да прегледате кода ред по ред.

person Raf    schedule 31.07.2014
comment
Опитах, но PowerGUI не показва нещата, които функцията вече е изпратила към конвейера. И все още няма $_, тъй като това не е цикъл. - person Jeroen Wiert Pluimers; 31.07.2014
comment
NB. Можете да използвате New-Item -ItemType directory -Path $Local:logDir | Out-Null, за да се отървете от фалшив изход. Използвайте това, за да елиминирате всичко, което може потенциално да обърка вашите връщани стойности. - person Raf; 31.07.2014
comment
Благодаря. Това е добра алтернатива за локалната променлива. Но все пак как да открия кой израз е причинил добавянето? (Предпочитам да не завършвам много редове с ` | Out-Null`) - person Jeroen Wiert Pluimers; 31.07.2014
comment
За съжаление може да се наложи да ги прегледате един по един. - person Raf; 01.08.2014
comment
Моля, добавете последната част към отговора и аз ще го приема. - person Jeroen Wiert Pluimers; 02.08.2014