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

G. *_*ard 3 git bash json github

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

file package.json

{
  "name": "myapp",
  "version": "0.0.1"
}
Run Code Online (Sandbox Code Playgroud)

所需的脚本: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
Run Code Online (Sandbox Code Playgroud)

显然,该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
Run Code Online (Sandbox Code Playgroud)

Daw*_*ski 6

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

pkg_ver=$(jq '.version' package.json)
Run Code Online (Sandbox Code Playgroud)

但是,如果你只有这两个项目,那么可能使用sed,awk或tr会更容易.