1

Мне интересно, как я могу получить имя хоста (полное доменное имя) компьютера, на котором я работаю?

Вот мой сценарий:

 #! /bin/sh    
 hostname=$(host $ipaddr | awk '{print substr($NF,1,length($NF)-1)}')
 echo $hostname
 $h= get the current hostname
 if [ $hostname -ne $h ]
 then
//instructions
 fi

2 ответа2

8

Используйте hostname или uname -n чтобы получить имя хоста ядра (имя узла).

hostname -s даст только первый компонент того же самого.

Используйте hostname -f для получения полного доменного имени - он дополнительно пытается преобразовать имя хоста в IP-адрес, а затем обратно в доменное имя.

0

Использование переменной среды может быть сложным.Возможно, дело в используемой вами оболочке: некоторые оболочки используют $ HOST, другие - $ HOSTNAME. Я бы выбрал опцию uname -n, о которой упоминал @grawity.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .