You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure DevOps管道Bash脚本中通过变量名字符串获取变量值

在Bash脚本中通过变量名字符串获取变量值的解决方案

针对你在Azure DevOps管道Bash脚本里遇到的问题,以下是两种直接可行的实现方式:

方法1:使用Bash间接引用语法

这是Bash原生支持的安全写法,直接通过${!变量名}的格式就能通过变量名字符串获取对应值:

PartAPartB="This is my text"
VarAB="PartAPartB"
VARNAME="$VarAB" 

# 正确获取变量值
echo "${!VARNAME}" # 输出:This is my text

方法2:使用eval命令(需注意安全风险)

如果你的场景中变量名是完全可控的(无恶意内容),也可以用eval命令实现,但要谨慎使用,避免注入风险:

PartAPartB="This is my text"
VarAB="PartAPartB"
VARNAME="$VarAB" 

# 通过eval解析变量引用
eval echo "\$$VARNAME" # 输出:This is my text

额外提示

如果是在Azure DevOps不同管道任务之间传递动态变量,除了脚本内的引用,还需要在生成变量的任务中执行echo "##vso[task.setvariable variable=变量名;]变量值",将变量设置为管道级变量,后续任务才能直接引用。

内容的提问来源于stack exchange,提问作者DevUser

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 20:21:42