json - 如何在 BASH 中检索 JSON 值(git commit 中的自动版本)?

标签 json git bash github

如何从以下 json 文件中检索 version 属性并在 BASH 脚本中使用它?..

文件 package.json

{
  "name": "myapp",
  "version": "0.0.1"
}

所需脚本:bpush.sh

#!/bin/bash
gulp bump
git add -A
eval $pkg_ver = getjson('./package.json', 'version')
git commit -a -m "$pkg_ver"
git push origin master

显然,getjson() 函数无效。这就是我要弄清楚的问题。

编辑:最终结果
这是我使用的,感谢下面的人......

#!/bin/sh

pkg_ver=$(jq '.version' package.json)
pkg_ver=${pkg_ver//\"/}
git add -A
git commit -a -m $pkg_ver
git push origin master

最佳答案

如果您的 json 文件更复杂,那么我建议使用 jq - link

pkg_ver=$(jq '.version' package.json)

但是,如果您只有这两项,那么使用 sed、awk 或 tr 可能会更容易。

关于json - 如何在 BASH 中检索 JSON 值(git commit 中的自动版本)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39357096/

相关文章:

linux - 如何找到 Django 包

json - webhook JSON 有效负载是否应该进行 URL 编码?

SQL Server SELECT 到 JSON 函数

jquery - 使用数据库 Codeigniter 的 JSON RPC 服务

git文件一次又一次地被删除

bash - 如何base64编码/dev/random或/dev/urandom?

iOS 数据驱动以编程方式设置 View 和操作?寻求建议

Git 命令等于 git push --prune

Github 推送错误。无法读取 askpass & 无法读取用户名

python - 将最后一个 Bash 命令从脚本记录到文件