Was ist der "Hostname" in Bash? (\h oder \H)

Ich setze PS1="[\u@\H \w]in bash. Es sollte also den Hostnamen drucken. Aber ich verstehe die Bedeutung und Art des Hostnamens nicht.

Grundsätzlich würde ich davon ausgehen, dass es sich nur um einen Namen handelt, den ich meinem Computer gegeben habe. Aber abhängig von verschiedenen WLANs, die ich verwende (öffentlich/Universität/Heim), scheint dies ein anderer Name für mein eigenes Mac Book Pro zu sein.

Wie wird dieser Name festgelegt? Kann ich für meinen Mac einen festen Hostnamen definieren oder geht das nicht?

Ihre Maschine wird in verschiedenen LANs unterschiedliche Namen haben. Der Name ist ein Schlüssel zu einer Loop-Tabelle, um irgendwo die IP zu finden. Die WLANs werden diese Informationen in unterschiedlichen Geschwindigkeiten speichern, und angesichts des Domänennamendienstes werden sie unterschiedlich sein

Antworten (1)

Zuerst müssen Sie Ihren Systemnamen in Systemeinstellungen > Freigabe > Computername festlegen. Nehmen wir fürs Erste an, dass Sie es auf setzen MyComputerName.

Der nächste Schritt besteht darin, sicherzustellen, dass Ihr Computername nicht vom DHCP-Client überschrieben wird (was normalerweise passiert und was Sie beobachtet haben - jedes Mal, wenn ein DHCP-Server Ihrem Computer eine IP-Adresse zuweist, verwendet Ihr Mac den damit verbundenen Hostnamen IP-Adresse als eigene).

Dazu müssen Sie in Terminal.app den Inhalt der /etc/hostconfigDatei ändern und etwas Ähnliches hinzufügen:

HOSTNAME="MyComputerName"

wobei MyComputerNameeine Textzeichenfolge dem Hostnamen entspricht, den Sie in den Systemeinstellungen festgelegt haben.

Wenn Sie es jemals so einstellen müssen, dass der Hostname automatisch basierend auf der vom DHCP-Server empfangenen Adresse geändert wird, können Sie entweder diese Zeile aus der /etc/hostconfigDatei entfernen oder ihren Wert auf -AUTOMATIC-anstelle von "MyComputerName".

Schließlich verwenden Sie in Bash \hden Hostnamen als Token - so können Sie Ihre PS1 beispielsweise auf Folgendes einstellen:

PS1='[\u@\h \w] '