Azure keyvault CLI - 如何在值中包含 space

Azure keyvault CLI - how to have a space in the value

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

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

如果 VALUE 是 "my value"(不带引号),我会收到参数过多的错误。如果我在命令行中包含引号,它们会显示在实际值中(在此示例中,该值将为 \"my value\"。我可以将我的值放入文件中并使用 -f 标志,但是这可能很不方便,有时甚至不可能,具体取决于文件系统的访问权限。

还有其他解决办法吗?

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

--value VALUE 其中 VALUE"my value" NOT--value "VALUE" 相同,其中 VALUEmy value。我在想,在扩展之后,它们将是完全相同的命令。

这里有一些具体的命令 -

az keyvault secret set ... --value $VALUE$VALUE = my value 时显示 "expected one argument" 错误。

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

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

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