]> git.proxmox.com Git - mirror_acme.sh.git/commitdiff
Fix dns_huaweicloud subshell return
authorYuan Ming <tutugreen@users.noreply.github.com>
Thu, 20 Jan 2022 06:01:33 +0000 (14:01 +0800)
committerGitHub <noreply@github.com>
Thu, 20 Jan 2022 06:01:33 +0000 (14:01 +0800)
Replace pipe read with line count loop, fix useless return in subshell.

dnsapi/dns_huaweicloud.sh

index cc21396a67a4bfaaae207eeb7cf85ada27bab821..ac3ede65dc60ab45202bde03a23c4f94e5e54e88 100644 (file)
@@ -136,13 +136,16 @@ _get_zoneid() {
       _debug2 "Return Zone ID(s):" "${zoneidlist}"
       _debug2 "Return Zone Name(s):" "${zonenamelist}"
       zoneidnum=0
-      echo "${zonenamelist}" | while read -r zonename; do
+      zoneidcount=$(echo "${zoneidlist}" | grep -c '^')
+      _debug "Retund Zone ID(s) Count:" "${zoneidcount}"
+      while [ "${zoneidnum}" -lt "${zoneidcount}" ]; do
         zoneidnum=$(_math "$zoneidnum" + 1)
+        _zoneid=$(echo "${zoneidlist}" | sed -n "${zoneidnum}p")
+        zonename=$(echo "${zonenamelist}" | sed -n "${zoneidnum}p")
         _debug "Check Zone Name" "${zonename}"
         if [ "${zonename}" = "${h}." ]; then
           _debug "Get Zone ID Success."
-          _zoneid=$(echo "${zoneidlist}" | sed -n "${zoneidnum}p")
-          _debug2 "ZoneID:" "${_zoneid}"
+          _debug "ZoneID:" "${_zoneid}"
           printf "%s" "${_zoneid}"
           return 0
         fi