У меня на рабочем месте есть отдельные среды для разработки, тестирования, интеграции и подготовки.
В этих envs мы перегрузили имена хостов в DNS - например, в среде dev вызывается основной веб-компьютер web1.dev.example.com
, а в тестовой среде основной веб-компьютер web1.test.example.com
.
Чтобы различать машины в разных средах, я хочу настроить приглашения bash для отображения полного доменного имени, а не только имени хоста. Ну и хорошо; Я должен быть в состоянии заменить \h
на \H
в $PS1
, верно? Хм. Они показывают ту же самую вещь.
me@web1:~$ hostname
web1
me@web1:~$ hostname -f
web1.dev.example.com
me@web1:~$ export PS1="\[\u@\h: \w\]\$ "
me@web1: ~$ export PS1="\[\u@\H: \w\]\$ "
me@web1: ~$
Во /etc/hostname
, у меня есть только имя хоста ( web1
). hostname
и hostname -f
оба возвращают правильные результаты ("web1" и "web1.test.example.com" соответственно), и у меня есть правильные записи в /etc/hosts
.
Что дает?
Это хосты Ubuntu 10.04, если это имеет значение.