bash ${} 替换异常
SRC_DIR=$(dirname $(readlink -f $0))
TARGETOS=${GOOS:-$(go env GOOS)}
TARGETARCH=${GOARCH:-$(go env GOARCH)}
END=
if [ "${TARGETOS}" == "windows" ]; then
END=".exe"
fi
commitId=$(git rev-parse HEAD 2>/dev/null)
GO_TAGS='jsoniter'
GO_LDFLAGS="-w -s -X main.buildOS=\"$(go env GOHOSTOS)/$(go env GOHOSTARCH)\" -X main.commitId=\"${commitId}\""
GO_FLAGS="-ldflags=\"${GO_LDFLAGS}\" -tags=\"${GO_TAGS}\" -trimpath" # trimpath 去重源码路径信息
# set -e
a=$(echo "CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o MQTest ${GO_FLAGS} ${SRC_DIR}/bin")
eval $a
echo "$? ########################"
CGO_ENABLED=0 GOOS=${TARGETOS} GOARCH=${TARGETARCH} go build -o MQTest ${GO_FLAGS} ${SRC_DIR}/bin
echo "$? ########################"
已经解决了
- 用法
CGO_ENABLED=0 GOOS="${TARGETOS}" GOARCH="${TARGETARCH}" go build -o MQTest "${GO_FLAGS}" "${SRC_DIR}/bin"