Полагаю, вы можете использовать Set-PsDebug -trace 1
, чтобы увидеть, какая строка их возвращает.
Пример:
Рассмотрим скрипт ниже:
function f{
1..10
}
function g{
f
return 11
}
g
После выполнения Set-PsDebug -trace 1
трассировка будет выглядеть примерно так:
DEBUG: 1+ <<<< .\test.ps1
DEBUG: 1+ function f <<<< {
DEBUG: 5+ function g <<<< {
DEBUG: 10+ <<<< g
DEBUG: 6+ <<<< f
DEBUG: 2+ 1.. <<<< 10
1
2
3
4
5
6
7
8
9
10
DEBUG: 7+ return <<<< 11
11
Очевидно, вы можете видеть, откуда поступает вывод. Но если вывод получен, вы не получите это.
Кроме того, если вы не заботитесь о других объектах, которые возвращаются, и хотите получить только последний объект, который вы вернули с помощью оператора return
, вы всегда можете сделать что-то вроде (func)[-1]
или func | select -last 1
(как указано в комментарии), чтобы получить последний.