powershell - 如何从脚本块(作业)中检索变量值
问题描述
我正在尝试获取在脚本块中修改的变量的值:
function Test-Function {
$var = "apple"
Start-Job -ScriptBlock {
$var = "banana"
}
Write-Host "Variable is $var"
}
Test-Function
Variable is: apple
我正在尝试获取输出“香蕉”。这可能吗?
解决方案
由于您在代码中使用 PS 作业,因此您需要使用等待作业完成使用wait-job
,最后您必须使用receive-job
. 用以下代码替换您的代码:
function Test-Function {
$var = "apple"
Start-Job -ScriptBlock {
$var = "banana"
Write-Host "Variable is $var"
} | Wait-Job -Any |Receive-Job
#Write-Host "Variable is $var"
}
Test-Function
希望能帮助到你。
推荐阅读
- java - 如何不断检查拍卖网站的时间是否到了
- laravel - 禁止访问!您无权访问请求的目录。没有索引文档或目录被读保护
- android - 如何更改材质日期选择器的对话框按钮颜色
- laravel - Vue组件中的雄辩3表关系
- laravel - Laravel - 提交后如何保留日期选择器过滤器值
- c++ - 在 C++ 中将二进制文件中的小端读取为整数
- reactjs - 反应重新渲染组件很多倍的性能
- php - 可以制作 chrome 扩展来加载 PHP 文件吗?
- laravel-5 - 如何在 laravel 中执行没有 SSL 构建的网站
- mysql - Spring Jpa Projection 接口发生布尔类型错误