Moo*_*rse 4 bash azure azure-cli azure-devops azure-pipelines
我正在尝试在 Azure Devops 中使用 Azure CLI 和bash执行任务。我正在使用Azure CLI 任务 v.2并选择shell作为脚本类型,如下所示。
我想在 bash 脚本中使用管道变量。我在脚本中运行以下命令:
#!/bin/bash
az role assignment create --role "Lab Admin" --assignee $(ownerEmail) -g $(rgName)
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
line 2: ownerEmail: command not found
line 2: rgName: command not found
Run Code Online (Sandbox Code Playgroud)
我不明白。通常,我应该能够在 bash 脚本中使用 azure cli。有人有想法吗?
jes*_*ing 10
变量作为环境变量传入。在 Linux 上变量都是大写且区分大小写。
因此,$OWNERNAME和$RGNAME可能是您所追求的值。
请参阅有关脚本中变量使用的部分:
有些任务根本不填充环境,它们有一个环境部分,您可以在其中手动传递环境变量。
小智 6
有几种方法可以读取 bash 脚本中的管道变量:
(建议)将它们作为脚本中的环境变量直接读取。Azure DevOps 管道变量被添加为可由 bash 脚本访问的环境变量。因此,只需定义/设置管道变量,您就可以从 bash 脚本访问它们。即在您的脚本中将它们引用为 $OWNERNAME 和 $RGNAME。
请参阅> https://docs.microsoft.com/en-us/azure/devops/pipelines/process/variables#environment-variables
引用 bash 脚本中的直接参数。Bash 参数是编号的,可以这样引用。例如,对于您的 aruments,$1 是字符串“-labOwner”,$2 是包含在 ownerEmail 管道变量中的值。
请参阅 > https://tecadmin.net/tutorial/bash-scripting/bash-command-arguments/
| 归档时间: |
|
| 查看次数: |
6778 次 |
| 最近记录: |