Eu tentei isso no CentOS5:
host -TtA $SERVERNAME|grep "has address"|awk '{print $1}'
Eu tenho que consultar meu DNS no modo TCP. Se o UDP funcionar no seu ambiente, deixe de lado a opção "T".
Nota: em um convidado do Ubuntu (VirtualBox) não funcionará:
git@aHostname:~/$ host -TtA $(hostname -s)
Host aHostname not found: 3(NXDOMAIN)
Então, para cobrir todos os casos:
fqn=$(host -TtA $(hostname -s)|grep "has address"|awk '{print $1}') ; \
if [[ "${fqn}" == "" ]] ; then fqn=$(hostname -s) ; fi ; \
echo "${fqn}"