Pertanyaan Cara membuat bash memperbarui ide nama host-nya


Prompt bash saya menunjukkan nama host saya. Jika saya mengubah nama host saya dengan hostname perintah, di /etc/hosts, /etc/hostname dan $HOSTNAME, perintah masih menggunakan nama lama. Apakah mungkin untuk memperbarui ini tanpa keluar log?


4
2017-10-16 08:08


asal




Jawaban:


Jika Anda memiliki \h atau \H dalam pengaturan prompt Anda, perluasannya diinisialisasi ketika shell dimulai, jadi Anda harus me-restart bash (exec bash). Jika itu mengganggu Anda, ubah pengaturan prompt Anda untuk mencetak $HOSTNAME.


6
2017-10-16 10:38





Jika Anda ingin meminta bash Anda untuk memperbarui secara dinamis sebagai nama host (seperti yang dilaporkan oleh /bin/hostname perintah) diperbarui, Anda dapat melakukan ini:

[root@foo ~]# PS1='[\u@`/bin/hostname` \W]\$ '
[root@foo ~]# hostname
foo
[root@foo ~]# hostname bar
[root@bar ~]# hostname baz
[root@baz ~]#

Ini sia-sia (menjalankan subkulit setiap kali Anda memukul kembali - tidak mengerikan tetapi tidak jantan,) jadi saya hanya akan menggunakan ini di mana situasi membutuhkannya. Saya menggunakannya ketika bekerja pada template dasar VM yang digunakan untuk menghasilkan beberapa instance VM target di mana metadata tentang instance ditunjukkan dalam nama host. Dan bahkan kebiasaan itu PS1 hanya disetel sementara, sebagai bagian dari sesi masuk awal sementara instance VM peran sedang digunakan.


3
2017-08-27 18:39