Temos ambientes separados em meu local de trabalho para desenvolvimento, teste, integração e preparação.
Nesses envs, sobrecarregamos os nomes de host no DNS - por exemplo, no ambiente de desenvolvimento, a máquina da web principal é chamada web1.dev.example.com
e, no ambiente de teste, a máquina da web principal web1.test.example.com
.
Para distinguir entre máquinas nos diferentes ambientes, desejo personalizar os prompts do bash para exibir o FQDN em vez de apenas o nome do host. Bem e bom; Eu deveria ser capaz de substituir \h
com \H
em $PS1
, certo? Hmm. Eles mostram exatamente a mesma coisa.
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: ~$
Em /etc/hostname
, eu tenho apenas o hostname ( web1
). hostname
e hostname -f
ambos retornam os resultados corretos ("web1" e "web1.test.example.com", respectivamente), e eu tenho as entradas corretas em /etc/hosts
.
O que da?
Estes são os hosts do Ubuntu 10.04, se isso faz diferença.