An meinem Arbeitsplatz gibt es separate Umgebungen für Entwicklung, Test, Integration und Bereitstellung.
Innerhalb dieser Umgebungen haben wir die Hostnamen in DNS überlastet - z. B. wird in der Entwicklungsumgebung der primäre Webcomputer aufgerufen web1.dev.example.com
und in der Testumgebung der primäre Webcomputer web1.test.example.com
.
Um zwischen Computern in den verschiedenen Umgebungen zu unterscheiden, möchte ich die Bash-Eingabeaufforderungen so anpassen, dass der vollqualifizierte Domänenname und nicht nur der Hostname angezeigt wird. Schön und gut; Ich habe ersetzen können \h
mit \H
in $PS1
, nicht wahr? Hmm. Sie zeigen genau dasselbe.
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: ~$
In /etc/hostname
habe ich nur den Hostnamen ( web1
). hostname
und hostname -f
beide geben die korrekten Ergebnisse zurück ("web1" bzw. "web1.test.example.com"), und ich habe die korrekten Einträge in /etc/hosts
.
Was gibt?
Dies sind Ubuntu 10.04-Hosts, wenn das einen Unterschied macht.