Json BASH脚本从另一个.txt文件读取变量

Json BASH脚本从另一个.txt文件读取变量,json,bash,shell,unix,scripting,Json,Bash,Shell,Unix,Scripting,我有output.txt文件,我的脚本在其中存储了一些输出,我只需要获取myscript.sh文件中output.txt第一行的ID的输出,有人能建议一种方法吗 {"id":"**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**","name":"new","url":"https://dev.azure.com/vishalmishra2424/82c931

我有output.txt文件,我的脚本在其中存储了一些输出,我只需要获取myscript.sh文件中output.txt第一行的ID的输出,有人能建议一种方法吗

{"id":"**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**","name":"new","url":"https://dev.azure.com/vishalmishra2424/82c93136-470c-4be0-b6da-a8234f49a695/_apis/git/repositories/dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf","project":{"id":"82c93136-470c-4be0-b6da-a8234f49a695","name":"vishalmishra","url":"https://dev.azure.com/vishalmishra2424/_apis/projects/82c93136-470c-4be0-b6da-a8234f49a695","state":"wellFormed","revision":12,"visibility":"public","lastUpdateTime":"2021-04-22T14:24:47.2Z"},"size":0,"remoteUrl":"https://vishalmishra2424@dev.azure.com/vishalmishra2424/vishalmishra/_git/new","sshUrl":"git@ssh.dev.azure.com:v3/vishalmishra2424/vishalmishra/new","webUrl":"https://dev.azure.com/vishalmishra2424/vishalmishra/_git/new","isDisabled":false}

您发布的代码片段如下所示 和一个名为
file
可以猜出不同类型的文件也表示:

$ file output.txt
output.txt: JSON data
例如,您应该使用JSON感知工具来提取
id
的值
jq

$ jq -r '.id' output.txt
**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**
jshon

$ jshon -e id < output.txt
"**dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf**"
$jshon-e id
您搜索了什么,找到了什么?您尝试了什么,它是如何失败的?我搜索了几个文档并尝试了下面的一个,但它并没有给我在阅读第行时所期望的
;执行[[$line=~id]]&&declare“$line”&&break done
我建议:
jq-r'.id'output.txt
非常感谢您在shell中直接运行此程序时提供的帮助,然后它就可以正常工作了。但当我将其包含在脚本中时,访问被拒绝。你知道我做错了什么吗<代码>$jq-r'.id'repoutput.txt dad04f6d-4e06-4420-b0bc-cb2dcfee2dcf
$sh test.sh test.sh:第3行:/c/ProgramData/chocolate/bin/jq:权限被拒绝
嗯,我不知道。这可能是Windows的问题,但我不知道如何使用Windows,对不起。