我想在后台进程中使用与主代码正文相同的函数。
如果我这样写,"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"函数定义周围的{},它适用于主体,但不适用于后台进程。
$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 } }
. $add
add 2 4