#!/bin/bash
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
set -euo pipefail # set -e表示一旦脚本中有命令的返回值为非0,则脚本立即退出,后续命令不再执行;
# set -o pipefail表示在管道连接的命令序列中,只要有任何一个命令返回非0值,则整个管道返回非0值,即使最后一个命令返回0.
#set -u 就可以让脚本遇到错误时停止执行,并指出错误的行数信息。
if [ "$#" -ne 2 ]; then # if 传参数量不等于两个,则退出
>&2 echo "Expected 2 directories got $#"
exit 2
fi
>&2 jq . "$2/metadata.json"
#>&2 也就是把结果输出到和标准错误一样;之前如果有定义标准错误重定向到某file文件,那么标准输出##也重定向到这个file文件。其中&的意思,可以看成是“The same as”、“与...一样”的意思
# jq -r .type 读取json文件中的 type字段的值
# tr [:upper:] [:lower:] 将大写字母全部替换为小写字母
if [ "$(jq -r .type "$2/metadata.json" | tr '[:upper:]' '[:lower:]')" != "golang" ]; then
>&2 echo "only golang chaincode supported"
exit 1
fi
if [[ "$(jq -r .label "$2/metadata.json")" != *-external*
fabric externalbuilders 脚本说明
最新推荐文章于 2023-03-08 09:32:53 发布
![](https://img-home.csdnimg.cn/images/20240711042549.png)