From df878aea3b21b4a18b4e0d448d592a63e3753e1a Mon Sep 17 00:00:00 2001
From: Zhong Lufan <lufanzhong@gmail.com>
Date: Sun, 18 Apr 2021 16:34:28 +0800
Subject: [PATCH] Modify the method to check whether the value is a function

---
 AliyunOpenApiSDK.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/AliyunOpenApiSDK.sh b/AliyunOpenApiSDK.sh
index d3911d0..89d1b9c 100644
--- a/AliyunOpenApiSDK.sh
+++ b/AliyunOpenApiSDK.sh
@@ -67,7 +67,7 @@ aliapi_rpc() {
         _key=${_ali_key[$i]}
         _value=${_ali_value[$i]}
         # 参数值如果是以 () 结束,代表需要执行函数获取值,如果函数不存在,使用原始值。
-        [[ ($(grep -E "^.+\(\)$" <<< "$_value")  == "$_value" && $(type -t "${_value//()/}") == "function") ]] && _value=$(${_value//()/})
+        [[ (${_value%()}  == "${_value:0:-2}" && $(type -t "${_value:0:-2}") == "function") ]] && _value=$(${_value:0:-2})
         _value=$(_urlencode "$_value")
         _query_str+="$_key=$_value&"
     done