Эквивалент имени хоста -f в Solaris?

Эквивалент имени хоста -f в Solaris?

Какой эквивалент команды Linux в Solaris hostname -f? В Solaris, когда я набираю hostname, я получаю короткое имя, но мне нужно получить полное доменное имя.

При вводе hostname -fкороткое имя становится "-f", а страница руководства hostnameвыглядит жалко.

решение1

Это, скорее всего, сработает:

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

но это не гарантировано. Вы можете просмотреть исходный код модуля:

perldoc -m Net::Domain

чтобы увидеть, как это работает (если вы достаточно хорошо знаете Perl).

решение2

Если вы используете систему, о которой знает DNS, вы можете попробовать следующее:

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

или, как предложил один из комментаторов, используйте «host» вместо nslookup:

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

Я успешно протестировал это на Linux, Solaris, AIX и HP-UX.

решение3

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

Связанный контент