【问题标题】:Executing Bash Command with Variable (Azure CLI)使用变量执行 Bash 命令 (Azure CLI)
【发布时间】:2021-07-12 11:12:02
【问题描述】:

我正在尝试通过执行以下命令来更新 Azure AD 应用程序

现在首先这是 appId 的回显结果

现在当我尝试执行更新命令时:

现在,如果我尝试使用内联值的相同命令,它的工作原理如下:

我不确定出了什么问题!以及为什么使用变量不起作用但使用内联值起作用,这是一个长脚本的一部分,因此使用变量对我来说很重要。

有人遇到过这种情况吗?

【问题讨论】:

  • 您可以尝试用双引号括起来吗? --id "#appId"
  • 我试过了,结果一样!
  • $appId 来自哪里?第二个屏幕截图让我觉得那里有一个回车。你对declare -p appId 有什么看法?
  • 你在那个变量中有一个回车,看看它是怎样的"eclare而不是declare——那是缺少的结束双引号。见How to remove carriage return from a variable in shell script
  • printf '%q\n' "$appId" 变得更加清晰

标签: bash azure


【解决方案1】:

感谢@BenJamin W 参考,我不得不将命令更改为:

az ad app update --id ${appId//$'\r'} --set groupMembershipClaims=All

这删除了末尾的 $ 和换行符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-27
    • 2012-06-05
    • 2013-07-20
    • 2021-04-22
    • 2021-07-23
    • 2018-12-27
    • 2012-10-30
    相关资源
    最近更新 更多