Kami memiliki lingkungan terpisah di tempat kerja saya untuk pengembangan, pengujian, integrasi, dan pementasan.
Di dalam envs tersebut, kami telah membebani nama host dalam DNS - misalnya di lingkungan dev, mesin web utama disebut web1.dev.example.com
, dan di lingkungan pengujian, mesin web primer adalah web1.test.example.com
.
Untuk membedakan antara mesin di lingkungan yang berbeda, saya ingin menyesuaikan permintaan bash untuk menampilkan FQDN daripada hanya nama host. Baik dan bagus; Aku harus bisa menggantikan \h
dengan \H
di $PS1
, kan? Hmm. Mereka menunjukkan hal yang sama persis.
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: ~$
Di /etc/hostname
, saya hanya punya nama host ( web1
). hostname
dan hostname -f
keduanya mengembalikan hasil yang benar ("web1" dan "web1.test.example.com",), dan saya mendapatkan entri yang benar di /etc/hosts
.
Apa yang menyebabkannya?
Ini adalah host Ubuntu 10,04, jika itu membuat perbedaan.