Bash 在Azure Devops中,如何在;Azure CLI任务v.2“;运行shell脚本?

Bash 在Azure Devops中,如何在;Azure CLI任务v.2“;运行shell脚本?,bash,azure,azure-devops,azure-pipelines,azure-cli,Bash,Azure,Azure Devops,Azure Pipelines,Azure Cli,我正在尝试使用Azure CLI和Azure Devops中的bash执行任务。我正在使用Azure CLI task v.2并选择shell作为脚本类型,如下所示。 我想在bash脚本中使用管道变量。我在脚本中运行以下命令: #!/bin/bash az role assignment create --role "Lab Admin" --assignee $(ownerEmail) -g $(rgName) 我得到的错误如下: line 2: ownerEmail:

我正在尝试使用Azure CLI和Azure Devops中的bash执行任务。我正在使用Azure CLI task v.2并选择shell作为脚本类型,如下所示。 我想在bash脚本中使用管道变量。我在脚本中运行以下命令:

#!/bin/bash
az role assignment create --role "Lab Admin" --assignee $(ownerEmail) -g $(rgName)
我得到的错误如下:

 line 2: ownerEmail: command not found
 line 2: rgName: command not found
我不明白。通常,我应该能够在bash脚本中使用azure cli。
有人知道吗?

变量作为环境变量传入。linux上的变量都是大写的,区分大小写

因此,
$OWNERNAME
$RGNAME
很可能是您所追求的值

请参阅有关脚本中变量用法的部分:


有些任务根本不填充环境,它们有一个环境部分,您可以在该部分手动传递环境变量。

有几种方法可以读取bash脚本中的管道变量:

  • (建议)直接将它们作为脚本中的环境变量读取。Azure DevOps管道变量被添加为可由bash脚本访问的环境变量。因此,只需定义/设置管道变量,就可以从bash脚本访问它们。i、 e在脚本中引用它们为$OWNERNAME和$RGNAME。
    见>

  • 在bash脚本中引用直接参数。Bash参数是经过编号的,因此可以被引用。e、 g您的aruments$1是字符串“-labOwner”$2是ownerEmail管道变量中包含的值。
    见>