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

PowerShell字符串变量替换异常:函数调用方式错误所致

PowerShell函数调用错误引发变量替换异常

我写了一个PowerShell函数getUserID,用来生成API请求所需的查询语句:

function getUserID ([String]$loginName, [String] $firstName, [String] $lastName, [String] $employeeId)
{
    $queryText = "loginid:$loginName vorname:$firstName nachname:$lastname personalnummer:$employeeId"
    $requestData = (@{
        "query" = "$queryText"
    } | ConvertTo-Json)
    return $requestData
}

用以下方式调用函数时:

$test = getUserID("blibla", "Bli", "Bla", "34654")
$test

预期输出为:

{
    "query": "loginid:blibla vorname:Bli nachname:Bla personalnummer:34654"
}

但实际输出却是:

{
    "query": "loginid:blibla Bli Bla 34654 vorname: nachname: personalnummer:"
}

一开始无法理解变量替换为何在首次替换后出现异常,排查后发现问题源于函数调用方式错误。PowerShell中调用函数时不能使用括号加逗号分隔参数,正确的调用方式应为用空格分隔参数:

getUserID "blibla" "Bli" "Bla" "34654"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 00:22:10