Какой эквивалент команды 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 }'