【问题标题】:Cloud-init issues with variables变量的 Cloud-init 问题
【发布时间】:2021-01-04 20:05:37
【问题描述】:

所有, 我正在尝试在 Ubuntu 上的 cloud-init 脚本中运行此命令: dcs=$(https://$KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01 -H "Authorization: Bearer $token")

但是,它没有按预期完成,当我为 dcs 设置回显时......我看到的是:

https://MyKeyvaultName.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01

但我不确定为什么它会在 -H 之后删除所有内容。

感谢您的帮助

【问题讨论】:

    标签: linux azure ubuntu cloud cloud-init


    【解决方案1】:

    您需要像这样更改命令:

    dcs=$(curl "https://$KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01" -H "Authorization: Bearer $token")
    

    那么它会为你工作。

    【讨论】:

    • 感谢您的回复。我使用您在上面放置的行修改了我的 cloud-init,我得到以下响应:runcmd.13: {'dcs=$(curl \'https://$KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString? api-version=2016-10-01\' -H "Authorization': 'Bearer $token")'} 在任何给定的架构想法下都无效?
    • @KeithHill 抱歉,这是我的错误。在 URL 中使用变量时,还需要使用双引号。我忘记了。
    • 感谢您的回复...我尝试了您的建议:我的命令配置为:dcs=$(curl "https://$KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString? api-version=2016-10-01" -H Authorization: Bearer $token) 但是,在 cloud-init-output 文件中我收到此错误:runcmd.13: {'dcs=$(curl "https:// $KEYVAULTNAME.vault.azure.net/secrets/deviceConnectionString?api-version=2016-10-01" -H Authorization': 'Bearer $token)'} 在任何给定的架构想法下都无效?
    • @KeithHill 令牌呢?我看到它也是变量,你使用双引号吗?或者代替所有具有确切值的变量。
    • 再次感谢您的帮助。 $token 设置在这一行之前的行中。如果我不能使用变量会容易得多,但是,在我的执行过程中,变量的值会从一个部署更改为另一个部署。
    猜你喜欢
    • 1970-01-01
    • 2021-10-19
    • 2021-11-10
    • 2012-07-04
    • 2023-02-15
    • 2018-09-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多