You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell脚本中$_变量无法在第二个位置正常传递求助

PowerShell $_变量未正确替换的解决方法

你的问题出在多行字符串的变量解析上,原脚本里第二个$_没有被替换是因为换行后的字符串没有被PowerShell正确识别为可展开变量的上下文。

以下是两种可行的修正方案:

方案1:使用Here-String(推荐)

Here-String是PowerShell处理多行文本的最优方式,能自动展开其中的变量,写法更清晰:

Get-Content .\ddgroups.txt | ForEach-Object {
    $content = @"
data "okta_group" "$_" {
  name = "$_"
  type = "APP_GROUP"
}
"@
    Write-Host $content
}

方案2:拼接单行转义字符串

如果偏好单行写法,需要用反引号转义换行和双引号,确保所有$_`都在可解析的字符串范围内:

Get-Content .\ddgroups.txt | % {
    Write-Host "data `"okta_group`" `"$_`" {`n  name = `"$_`"`n  type = `"APP_GROUP`"`n}"
}

运行修正后的脚本,两个位置的$_都会被替换为文件中的组名。

内容的提问来源于stack exchange,提问作者200mg

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 11:22:13