ahost

ahost DNS lookup
Usage
ahost [-i] [-a] (<dnsquery:string>[,<magicdata:variant>]){ <callback command> }
Description
Starts a DNS lookup for the <dnsquery> and reports the results by calling the callback routine. The -i switch causes the command to execute in IPv6 mode (and lookup ONLY IPv6 hosts!). The -a switch causes the command to run in unspecified mode and return any available address: IPv4 or Ipv6. This command also performs reverse lookups (if you pass an IP address as <hostname>). The callback command gets passed five parameters: $0 contains the query string (<dnsquery> in fact) $1 contains the value 1 if the query was successful. In that case the remaining parameters are set as follows: $2 contains the first IP address associated to the <dnsquery> $3 contains the hostname associated to the <dnsquery> $4 contains the eventual <magicdata> passed. If $1 contains the value 0 then the query has failed and $2 contains an error message explaining the failure. $3 is empty $4 contains the eventual <magicdata> passed. Please note that if the DNS query fails to even start for some reason then your callback MAY be called even before ahost() returns.
Switches
-i
Causes the command to execute in IPv6 mode (and lookup ONLY IPv6 hosts!).
-a
The -a switch causes the command to run in unspecified mode and return any available address: IPv4 or IPv6.
Examples
ahost("localhost") { echo "Lookup: "$0; if($1) { echo "IP address: "$2; echo "Hostname: "$3; } else { echo "Error: $2"; } } ahost -i ("irc.flashnet.it","Hello :)") { echo "Lookup: "$0; echo "Magic: $3"; if($1) { echo "IP address: "$2; echo "Hostname: "$3; } else { echo "Error: $2"; } } ahost -a ("cafe:babe::dead:beef") { echo "Lookup: "$0; echo "Magic: $3"; if($1) { echo "IP address: "$2; echo "Hostname: "$3; } else { echo "Error: $2"; } }
See also
host

Index, Commands