Solaris equivalent of hostname -f?

What is the Solaris equivalent of the Linux hostname -f command? On Solaris, when I type hostname, I receive the short name but I need to get the FQDN.

Typing hostname -f sets the short name to be "-f", and the manpage for hostname is pitiful.


This is likely to work:

perl -mNet::Domain -e 'print Net::Domain::hostfqdn(), "\n"'

but it's not guaranteed. You can view the module source:

perldoc -m Net::Domain

to see how it works (if you know Perl well enough).


If you are on a system that the DNS knows about, you could try this:

bash-3.00# nslookup `hostname` | grep 'Name:' | awk '{print $2}'
ep60.bar.foo.com

or, as suggested by a commenter, use "host" instead of nslookup:

host $(hostname) | cut -d" " -f1

I tested this successfully on Linux, Solaris, AIX, and HP-UX.


check-hostname | awk '{ print $NF }'