Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在Ubuntu中传递jq for dotnet工具安装命令的版本号?_.net_Shell_Sh_Ubuntu 16.04_Jq - Fatal编程技术网

.net 如何在Ubuntu中传递jq for dotnet工具安装命令的版本号?

.net 如何在Ubuntu中传递jq for dotnet工具安装命令的版本号?,.net,shell,sh,ubuntu-16.04,jq,.net,Shell,Sh,Ubuntu 16.04,Jq,这个问题与我之前的问题有关: 我有一个shell脚本文件,如下所示: 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 instal

这个问题与我之前的问题有关:

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

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/
这是我的
deploytool.json
文件

{
    "name": "xxx.DEPLOY",
    "version": "1.2.0-dev.29"
}
当我在dockerfile中运行上面的脚本时,我收到一条错误消息,上面说:

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

我试图在此处查看
dotnet工具安装
文档: 然而,我找不到任何有用的东西

如何将
nugetFileVersion
jq
命令传递到
dotnet tool install
的版本参数,就像我在powershell中如何做到的一样,如下图所示:


谢谢

您的版本号是双引号。请尝试
name=$(jq-r.name'/xxx/deploy tool.json)
nugetFileVersion=$(jq-r.version'/xxx/deploy tool.json)
您的版本号是双引号。请尝试
name=$(jq-r.name'/xxx/deploy tool.json)
nugetFileVersion=$(jq-r.version'/xxx/deploy tool.json)