Sai*_*Sai 15 unix shell node.js docker package.json
我正在尝试从 build.sh 文件中提取 package.json 中 version 字段的值。有没有办法做到这一点?看起来我可以使用下面的来进行提取,但是如果节点在我执行 build.sh 文件的全局不可用,那么寻找一种通用方法来将 package.json 中的值精确到 build.sh 文件中。
VERSION=$(node -e "(function () { console.log(require('./package.json').version) })()")
Run Code Online (Sandbox Code Playgroud)
rai*_*bba 22
归功于metakermit
NODE_VERSION=$(node -p -e "require('./package.json').version")
echo $NODE_VERSION
Run Code Online (Sandbox Code Playgroud)
Sai*_*Sai 11
所以我继续使用http://dailyraisin.com/read-json-value-in-bash/ 中的 readJson 函数,它完全符合我的需要
如果您真的想使用shell脚本,那么只需尝试一下
sed 's/.*"version": "\(.*\)".*/\1/;t;d' ./package.json
Run Code Online (Sandbox Code Playgroud)
这样您就可以使用从 package.json 文件中获取版本 bash
VERSION='';
re="\"(version)\": \"([^\"]*)\"";
while read -r l; do
if [[ $l =~ $re ]]; then
value="${BASH_REMATCH[2]}";
VERSION="$value";
fi
done < package.json;
echo $VERSION;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7739 次 |
| 最近记录: |