Bash Can';t在Azure Devops管道中使用Docker Pull命令中的变量值

Bash Can';t在Azure Devops管道中使用Docker Pull命令中的变量值,bash,docker,docker-compose,azure-devops,azure-pipelines,Bash,Docker,Docker Compose,Azure Devops,Azure Pipelines,我已经创建了一个构建管道,需要从私有ACR回购中提取图像。 要提取的版本存储在一个文件中,我使用正则表达式和Linux的sed命令读取该文件 - bash : MONGO=$(sed -n -e '/Mongo_Service_Version/ s/.*\= *//p' $(Build.SourcesDirectory)/deployment/.env | sed 's/ *$//g') echo $MONGO 上面打印的是.env文件中存在的正确版本(例如:4.0)

我已经创建了一个构建管道,需要从私有ACR回购中提取图像。 要提取的版本存储在一个文件中,我使用正则表达式和Linux的sed命令读取该文件

- bash :
    MONGO=$(sed -n -e '/Mongo_Service_Version/ s/.*\= *//p' $(Build.SourcesDirectory)/deployment/.env | 
    sed 's/ *$//g')
    echo $MONGO
上面打印的是.env文件中存在的正确版本(例如:4.0) 但是现在,当我使用相同的变量从私有回购中提取图像时,我得到了一个错误
无效引用

- bash :
    MONGO=$(sed -n -e '/Mongo_Service_Version/ s/.*\= *//p' $(Build.SourcesDirectory)/deployment/.env | 
    sed 's/ *$//g')
    echo $MONGO
    docker pull my.repo/mongo:$MONGO
值得注意的一点是,如果我给MONGO变量一个硬编码的值,比如4.0,那么上面的事情就行了。此外,echo命令为变量写入正确的输出,但我不确定为什么不能将其与docker pull命令一起使用

我尝试了docker pull命令的不同语法,如下所述,但我得到了相同的错误

docker pull klingelnberg.azurecr.io/gearengine/mongo:${MONGO}
docker pull "klingelnberg.azurecr.io/gearengine/mongo:$MONGO"
我想的是变量值,可能有一些转义字符,或者没有打印出来的东西,但在拉图像时使用。(可能是颜色代码值或类似值)
以上只是我的猜测。

请您在此
MONGO=“my.repo/MONGO:$MONGO_VERSION”
之后添加另一个命令
echo${MONGO}cat-vte
,并共享输出。
MONGO_VERSION=$(sed -n -e '/Mongo_Service_Version/ s/.*\= *//p' $(Build.SourcesDirectory)/deployment/.env | sed 's/ *$//g')
MONGO="my.repo/mongo:$MONGO_VERSION"
docker pull $MONGO