gpt4 book ai didi

azure-devops - 转义 powershell VSTS 任务的参数

转载 作者:行者123 更新时间:2023-12-05 05:14:20 27 4
gpt4 key购买 nike

相关(但不回答这种情况):VSTS Task Group Powershell Parameter

问题:如何传递带有双引号和其他可能不舒服的值(例如单引号和双引号以及其他特殊字符的混合)的参数

我不知道参数可能是什么。因此需要一种有保证的方式来逃避任意输入。

比如像这样传递参数的时候

-ParamName "$(ParamValue)"

值是这样的:

[ "abc=xyz", "abc=somethingelse" ]

我得到了以下信息:

2018-10-03T17:51:53.3159259Z Generating script.
2018-10-03T17:51:53.3257527Z Formatted command: . 'M:\<...>\blah.ps1' -ParamName "[ "abc=xyz", "abc=somethingelse" ]" <...>
2018-10-03T17:51:53.3969661Z ##[command]"C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe" -NoLogo -NoProfile -NonInteractive -ExecutionPolicy Unrestricted -Command ". 'M:\...\_temp\14d05e56-d7c7-4db9-8007-a29f5b024b51.ps1'"
2018-10-03T17:51:53.7924531Z M:\<...>\blah.ps1 : A
2018-10-03T17:51:53.7924970Z positional parameter cannot be found that accepts argument 'abc=xyz, abc=somethingelse ]'.

最佳答案

有两种方法可以解决您当前的问题,第一种是在传递参数时简单地使用单引号,例如:

-ParamName '$(ParamValue)'

另一种方法是使用“`”字符(称为反引号、反引号或重音符)转义参数值中的双引号。所以值(value)从:

[ "abc=xyz", "abc=somethingelse"]

到:

[`"abc=xyz`", `"abc=somethingelse`"]

这样参数值中的第一个双引号就不会被解释为字符串的结尾。

关于azure-devops - 转义 powershell VSTS 任务的参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52633810/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com