首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Ubuntu中从工具安装命令中传递版本号?

如何在Ubuntu中从工具安装命令中传递版本号?
EN

Stack Overflow用户
提问于 2019-09-06 10:25:12
回答 1查看 169关注 0票数 1

这个问题与我先前的问题有关:How to pass a value from JSON to a command in shell script at Docker?

我有一个shell脚本文件,如下所示:

代码语言:javascript
复制
name=$(jq '.name' /xxx/deploy-tool.json)
nugetFileVersion=$(jq '.version' /xxx/deploy-tool.json)
#bash
#echo $name

# TODO how to pass value from JSON to the command below
# install dot net nuget
dotnet tool install -g $name --version $nugetFileVersion --add-source /xxx/

这是我的deploy-tool.json文件

代码语言:javascript
复制
{
    "name": "xxx.DEPLOY",
    "version": "1.2.0-dev.29"
}

当我在dockerfile中运行上面的脚本时,我收到一条错误消息,上面写着:

指定版本“1.2.0dev.29”不是有效的NuGet版本范围。

我试着在这里查看dotnet-tool install文档:https://learn.microsoft.com/en-us/dotnet/core/tools/dotnet-tool-install,但是我找不到任何有用的东西。

如何将nugetFileVersionjq命令传递给dotnet tool install的version参数,就像我是如何在powershell中这样做的,如下所示:

谢谢

EN

回答 1

Stack Overflow用户

发布于 2022-08-13 19:42:30

当您运行jq .version时,您将得到输出"1.2.0-dev.29"。你需要它没有引号。为此,将-r (--raw-output)添加到jq调用中:

代码语言:javascript
复制
jq -r '.version' yourfile
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57820251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档