IPアドレスからホスト名を調べる

#!/bin/sh
#ip2host.sh IP_address

r_host(){
    set -- `host $1`
    shift `expr $# -1`
    case $1 in
        *\(NXDOMAIN\))
            return 1 ;;
        *)
            expr "$1" : "\(.*\)\."
    esac
}

r_nslookup(){
    set -- `/usr/sbin/nslookup $1 2>/dev/null | grep '^Name:'`
    if [ -n "$2" ]; then
        echo $2
    else
        return 1
    fi
}

case `uname` in
    SunOS)
        RESOLVER=r_nslookup ;;
    *)
        RESOLVER=r_host
esac

$RESOLVER $1