2

我想在我的主代码主体中使用的后台进程中使用相同的函数。

如果我这样写,“add”函数适用于后台进程,但我不能在主代码中使用它。

$add = { function add($a,$b) { return $a+$b } }
$job = Start-Job -Name "test" -ArgumentList @(2,4) -InitializationScript $add -ScriptBlock { return add $args[0] $args[1] }
sleep 1
Receive-Job -Name "test"
Remove-Job -Name "test" -force
add 2 4

如果我删除“添加”函数定义周围的 {},它适用于主体,但不适用于后台进程。

$add = function add($a,$b) { return $a+$b }
$job = Start-Job -Name "test" -ArgumentList @(2,4) -InitializationScript $add -ScriptBlock { return add $args[0] $args[1] }
sleep 1
Receive-Job -Name "test"
Remove-Job -Name "test" -force
add 2 4

如何在后台进程和主代码中使用我的函数?

4

1 回答 1

1

在您的主代码中点源您的“库”脚本块。

$add = { function add($a,$b) { return $a+$b } }
. $add
add 2 4
于 2012-08-19T01:07:56.123 回答