ddns-scripts: fix issue (#337) current/registered ip never match
new extraction of IP inside function get_registered_ip for host and nslookup thanks to jow for the sed Signed-off-by: Christian Schoenebeck <christian.schoenebeck@gmail.com>
This commit is contained in:
parent
07d3672d46
commit
99264f2527
1 changed files with 2 additions and 2 deletions
|
@ -672,7 +672,7 @@ get_registered_ip() {
|
||||||
} || {
|
} || {
|
||||||
# we need to run twice because multi-line output needs to be directly piped to grep because
|
# we need to run twice because multi-line output needs to be directly piped to grep because
|
||||||
# pipe returns return code of last prog in pipe but we need errors from host command
|
# pipe returns return code of last prog in pipe but we need errors from host command
|
||||||
__IP=$(eval $__RUNPROG | grep "^$domain" | grep -m 1 -o "$__REGEX")
|
__IP=$(eval $__RUNPROG | awk -F "address " '/has/ {print $2; exit}' )
|
||||||
}
|
}
|
||||||
|
|
||||||
elif [ -x /usr/bin/nslookup ]; then # last use BusyBox nslookup
|
elif [ -x /usr/bin/nslookup ]; then # last use BusyBox nslookup
|
||||||
|
@ -692,7 +692,7 @@ get_registered_ip() {
|
||||||
} || {
|
} || {
|
||||||
# we need to run twice because multi-line output needs to be directly piped to grep because
|
# we need to run twice because multi-line output needs to be directly piped to grep because
|
||||||
# pipe returns return code of last prog in pipe but we need errors from nslookup command
|
# pipe returns return code of last prog in pipe but we need errors from nslookup command
|
||||||
__IP=$(eval $__RUNPROG | sed '1,2d' | grep -o "Name:\|Address.*" | grep -m 1 -o "$__REGEX")
|
__IP=$(eval $__RUNPROG | sed -ne "3,\$ { s/^Address [0-9]*: \($__REGEX\).*$/\\1/p }" )
|
||||||
}
|
}
|
||||||
|
|
||||||
else # there must be an error
|
else # there must be an error
|
||||||
|
|
Loading…
Reference in a new issue