Nous avons des environnements séparés sur mon lieu de travail pour le développement, les tests, l'intégration et la mise en scène.
Dans ces environnements, nous avons surchargé les noms d'hôte dans DNS - par exemple, dans l'environnement de développement, la machine Web principale est appelée web1.dev.example.com
et dans l'environnement de test, la machine Web principale l'est web1.test.example.com
.
Pour distinguer les machines dans les différents environnements, je souhaite personnaliser les invites bash pour afficher le nom de domaine complet plutôt que simplement le nom d'hôte. Bel et bien; Je devrais pouvoir remplacer \h
par \H
in $PS1
, non? Hmm. Ils montrent exactement la même chose.
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: ~$
Dans /etc/hostname
, j'ai juste le nom d'hôte ( web1
). hostname
et les hostname -f
deux renvoient les résultats corrects ("web1" et "web1.test.example.com" respectivement), et j'ai les entrées correctes dans /etc/hosts
.
Ce qui donne?
Ce sont des hôtes Ubuntu 10.04, si cela fait une différence.