如果我有一个我想能够直接调用的powershell脚本文件,称为Find-MyThing,如何在其中添加一个函数供它使用?
基本上,我想写一个这样的文件:
Param(
[Parameter(ValueFromPipeline=$true)]
$ThingReference)
process{
$intermediateValue = DoSomeProcessing($ThingReference)
$finalValue = DoSomeMoreProcessing($intermediateValue)
return $finalValue
}
Function DoSomeProcessing($thing){...}
Function DoSomeMoreProcessing($thing){...}
但是Powershell并不喜欢我在文件中有单独的功能。我可以在函数中包含主处理,但是没有办法从文件外部实际调用它。
这可能吗?或者我应该完全不同地处理事情?
答案 0 :(得分:3)
发现它!
我可以将这些函数放在begin块中,并定义它们以供以后使用!
Param(
[Parameter(ValueFromPipeline=$true)]
$ThingReference)
begin{
Function DoSomeProcessing($thing){...}
Function DoSomeMoreProcessing($thing){...}
}
process{
$intermediateValue = DoSomeProcessing($ThingReference)
$finalValue = DoSomeMoreProcessing($intermediateValue)
return $finalValue
}