提问人:Jason 提问时间:6/8/2023 最后编辑:Jason 更新时间:6/8/2023 访问量:336
在 PowerShell 脚本中将变量与名称中的连字符一起传递时出现错误:“函数参数列表中缺少')'
Getting error: "Missing ')' in function parameter list." while passing variable in param with hyphen in name in powershell script
问:
我有一个 Powershell 脚本,我要向其传递参数。一个变量的名称中有一个连字符(变量名称格式:testName-2-1-dev)。但是我在执行它时收到以下错误:
Missing ')' in function parameter list.
脚本:
param($testName-2-1-dev)
$'testName-2-1-dev' #.....2
$updatePermissions = az keyvault set-policy -n $keyvault --secret-permissions get list --object-id $testName`-2`-1`-dev
$updatePermissions
我试图添加与 2 中相同的引号,并尝试在连字符之前添加 ' 字符,但没有成功。我能得到这方面的帮助吗?
答:
2赞
Mathias R. Jessen
6/8/2023
#1
您需要使用大括号 () 来限定参数/变量名称:${...}
param(${testName-2-1-dev})
az keyvault set-policy -n $keyvault --secret-permissions get list --object-id ${testName-2-1-dev}
现在,您可以使用以下命令调用它:
.\script.ps1 -testName-2-1-dev 123
评论
0赞
Jason
6/9/2023
这奏效了。多谢。
评论