如何将函数输出传递给PowerShell中的另一个函数?

时间:2015-06-23 00:34:57

标签: powershell

第一次使用PowerShell。

我试图找到一种方法来使用函数输出作为另一个函数的输入。

例如,

{{1}}

我们的想法是创建一个脚本或模块来独立调用不同的函数。它从第一个函数开始,并将输出传递给另一个函数作为输入。 这些函数可以独立运行,也可以按顺序运行。

任何例子?

1 个答案:

答案 0 :(得分:2)

函数的所有输出都传递给管道。这就是输出。您正在使用write-host,它仅用于在控制台上显示。使用Write-Output或只是将命令写出来。我还建议您查看about_functions

不完全确定问题是什么,但问题是我会做这样的事情。

Function TK
{
    param ([int]$OTK)
    $OTK * 2
}

Function MAT
{
    param ([int]$OMAT, $TK)
    $OMAT * $TK /5
}

$OMAT * $TK /5也可以读为Write-Output $OMAT * $TK /5。它们在功能上是相同的。

我为MAT函数添加了第二个值$TK的另一个参数。您可以使用global关键字声明变量,但这很简洁。这将是一个示例函数调用,它输出结果10

MAT 5 (TK 5)

计算表达式(TK 5),然后将其作为函数MAT的第二个值发送。您也可以将变量用作中间人,但除非您需要多次使用函数调用输出,否则这将是多余的。

$result = TK 5
MAT 5 $result

您也可以像任何cmdlet一样在另一个内部调用函数。尽管在调用函数之前声明函数很重要。

Function MAT
{
    param ([int]$OMAT)
    $OMAT * TK /5
}

注意" TK"上面的代码将调用函数TK