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