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

BASH script reading variable from another .txt file

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

{"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}

您发布的片段看起来像 JSON 和一个名为 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**"