Isso provavelmente funcionará:
perl -mNet::Domain -e 'print Net::Domain::hostfqdn(), "\n"'
mas não é garantido. Você pode ver a fonte do módulo:
perldoc -m Net::Domain
para ver como funciona (se você conhece bem o Perl).
Qual é o equivalente Solaris do comando Linux hostname -f
? No Solaris, quando digito hostname
, recebo o nome abreviado, mas preciso obter o FQDN.
Digitar hostname -f
define o nome abreviado como "-f", e a página de manual para hostname
é lamentável.
Isso provavelmente funcionará:
perl -mNet::Domain -e 'print Net::Domain::hostfqdn(), "\n"'
mas não é garantido. Você pode ver a fonte do módulo:
perldoc -m Net::Domain
para ver como funciona (se você conhece bem o Perl).
Se você estiver em um sistema que o DNS conhece, você pode tentar isso:
bash-3.00# nslookup 'hostname' | grep 'Name:' | awk '{print $2}'
ep60.bar.foo.com
ou, como sugerido por um comentarista, use "host" em vez de nslookup:
host $(hostname) | cut -d" " -f1
Eu testei isso com sucesso no Linux, Solaris, AIX e HP-UX.
check-hostname | awk '{ print $NF }'