Qual è il "nome host" in bash? (\ h o \ H)

1

Ho impostato PS1="[\u@\H \w] in bash. Quindi dovrebbe stampare il nome host. Ma non capisco il significato e la natura del nome host.

Fondamentalmente, suppongo che sia solo un nome che ho assegnato al mio computer. Ma a seconda delle diverse WLAN che uso (pubblico / università / home), questo sembra essere un nome diverso per il mio Mac Book Pro.

Come viene impostato questo nome? Potrei definire un nome host fisso per il mio Mac o non è possibile?

    
posta Michael 26.06.2015 - 12:25
fonte

1 risposta

3

Per prima cosa, devi impostare il nome del tuo sistema in Preferenze di Sistema > Condivisione > Nome del computer. Supponiamo per ora di impostarlo su MyComputerName .

Il passo successivo è assicurarsi che il nome del tuo computer non sia sovrascritto dal client DHCP (che normalmente è ciò che accade e ciò che hai osservato - ogni volta che un server DHCP assegna e indirizzo IP al tuo computer, il tuo mac userà il nome host associato a tale indirizzo IP come proprio).

Per farlo, devi, in Terminal.app cambiare il contenuto del file /etc/hostconfig , aggiungendo qualcosa di simile a questo:

HOSTNAME="MyComputerName"

dove MyComputerName è una stringa di testo corrisponde al nome host che hai impostato in Preferenze di Sistema.

Se hai sempre bisogno di impostarlo per cambiare automaticamente il nome host in base all'indirizzo ricevuto dal server DHCP, puoi rimuovere questa riga dal file /etc/hostconfig o cambiarne il valore in -AUTOMATIC- invece di "MyComputerName" .

Infine, bash si usa \h come token del nome host - quindi ad es. puoi impostare il tuo PS1 su:

PS1='[\u@\h \w] ' 
    
risposta data 26.06.2015 - 13:18
fonte

Leggi altre domande sui tag