我尝试从另一个脚本启动一个脚本的函数。 我想将返回值保存到变量中,但这不起作用。
脚本1.ps1:
function test
{
return "hallo"
}
脚本2.ps1:
./script1.ps1; $p=test
or
$p = ./script1.ps1; test
似乎$p
为空,但我不知道出了什么问题。
有人可以帮我吗?
谢谢
最佳答案
试试这个:
. ./script1.ps1; $p=test
原因:您必须将函数加载到当前范围(即开头的句点 - 点源运算符)。
如果使用“;”,则全新的语句开始。所以从你的例子来看 $p = ./script.ps1;测试
,将 script.ps1 的输出分配给 $p
,然后运行该函数。
关于powershell函数返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3371405/