Tenemos entornos separados en mi lugar de trabajo para desarrollo, pruebas, integración y puesta en escena.
Dentro de esos entornos, hemos sobrecargado los nombres de host en DNS, por ejemplo, en el entorno de desarrollo, se llama a la máquina web principal web1.dev.example.com
y, en el entorno de prueba, a la máquina web principal web1.test.example.com
.
Para distinguir entre máquinas en los diferentes entornos, quiero personalizar las indicaciones de bash para mostrar el FQDN en lugar de solo el nombre de host. Bien y bueno; Debería poder reemplazar \h
con \H
in $PS1
, ¿verdad? Hmm Muestran exactamente lo mismo.
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: ~$
En /etc/hostname
, tengo solo el nombre de host ( web1
). hostname
y hostname -f
ambos devuelven los resultados correctos ("web1" y "web1.test.example.com" respectivamente), y tengo las entradas correctas en /etc/hosts
.
¿Lo que da?
Estos son hosts Ubuntu 10.04, si eso hace la diferencia.
Hay una locura de locos por los nombres de host, cortos y largos, y hacerlo bien todo el tiempo es difícil , así que me doy por vencido y hago que todo use el FQDN como nombre de host ...
Hago lo mismo que usted en mis entornos, pero reduzco los FQDN en la solicitud porque sé en qué sitio estoy y ahorra espacio. También codifico por colores mi indicador en función del entorno, por lo que tengo una mejor advertencia de cuándo estoy haciendo algo en algún lugar "importante". También separo la ruta del espacio de todo lo demás, para facilitar la copia de pasta. Un fragmento de mi stock
/etc/profile
:Y, en lo que respecta a la "fealdad", ¿a quién le importa cómo se ve el código para mostrar el mensaje? De todos modos, es código de solo escritura la mayor parte del tiempo.
fuente
Eso es un error con la forma en que Ubuntu gestiona / etc / hostname.
Error archivado: https://bugs.launchpad.net/ubuntu/+source/bash/+bug/1276796
fuente