首页 > 解决方案 > Azure keyvault CLI - 如何在值中有空格

问题描述

我正在使用 Azure 的azCLI 与 KeyVault 交互,但我不知道如何在我尝试设置的机密值中包含空格。从 azure cli 版本 2.0.46 开始,设置机密的正确语法是:

az keyvault secret set --vault-name NAME --name SECRET_NAME --value VALUE

如果 VALUE 是“我的价值”(不带引号),我会因为参数太多而收到错误。\"my value\"如果我在命令行中包含-f引号,它们会显示在实际值中(在本例中,值将是文件系统的访问权限。

有没有其他解决方案?

标签: azureazure-keyvaultazure-cliazure-cli2

解决方案


实际上,可以说我最初的问题和尝试并不是真的有效,但它是微妙的。事实证明,这是一个 shell 变量扩展问题,而不是azCLI 中的引号问题。

--value VALUEwhere VALUEis与where"my value" is不同。_ 我在想,在扩展之后,它们将是完全相同的命令。--value "VALUE"VALUEmy value

这是一些具体的命令 -

az keyvault secret set ... --value $VALUEwhen $VALUE=my value显示“预期的一个参数”错误。

az keyvault secret set ... --value $VALUE$VALUE="my value"存储\"my value\"在保险库中。

az keyvault secret set ... --value "$VALUE"when $VALUE=my value存储my value在保险库中(如我所愿)

az keyvault secret set ... --value '$VALUE'when $VALUE=my value存储my value在保险库中(与双引号相同)


推荐阅读