From 278d087239e985ab96ba05c942eb10bde8246b25 Mon Sep 17 00:00:00 2001 From: Zhong Lufan Date: Mon, 30 Jan 2023 23:55:42 +0800 Subject: [PATCH] Support manual set ALIYUN_SDK_RUN_ON_MUSL_LIBC --- AliyunOpenApiSDK.sh | 2 +- README.md | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/AliyunOpenApiSDK.sh b/AliyunOpenApiSDK.sh index 1d887c0..ced13e6 100755 --- a/AliyunOpenApiSDK.sh +++ b/AliyunOpenApiSDK.sh @@ -8,7 +8,7 @@ for _aliapi_command in openssl curl; do done unset _aliapi_command -_ALIYUN_SDK_RUN_ON_MUSL_LIBC=$(ldd "$SHELL" | grep -q /lib/ld-musl && echo 1 || echo 0) +[[ -v ALIYUN_SDK_RUN_ON_MUSL_LIBC ]] || ALIYUN_SDK_RUN_ON_MUSL_LIBC=$(ldd "$SHELL" | grep -q /lib/ld-musl && echo 1 || echo 0) ALIYUN_SDK_LAST_HTTP_CODE=0 diff --git a/README.md b/README.md index 5aee6a1..297d6e9 100644 --- a/README.md +++ b/README.md @@ -14,6 +14,14 @@ * curl # 网络请求 * openssl # 计算 HAMC-SHA1 签名 +### 可选依赖 + +* ldd # 检查当前 Shell 是否使用 musl libc +* coreutils (`grep`) # 检查当前 Shell 是否使用 musl libc + +> 由于 glibc 和 musl libc 之间的差异,SDK 内部针对这两个不同的库做了些处理,SDK 导入时会使用 ldd 对当前 Shell 进行检查,判断是否使用了 musl libc。 +> 如果需要跳过检查,可以在导入 SDK 之前设置 `ALIYUN_SDK_RUN_ON_MUSL_LIBC` 变量,`1` 表示使用了 musl libc,`0` 表示没有使用。 + ## 使用 1. 声明变量 `AliAccessKeyId` 和 `AliAccessKeySecret`