我有一個bash提示符,其中包含我的主機名,使用\h
變量(由PS1
解釋)或$(uname -n)
。無論我使用哪一個似乎都沒有什麼區別。在Bash PS1提示符下動態更改主機名
對於軟件許可證的原因,有時我不得不改變我的主機名,這是通過調用腳本,更新文件/etc/hosts
和/etc/hostname
完成,並呼籲$ hostname NEWNAME
的好辦法。
當腳本更新我的主機名時,我希望調用腳本的shell使其提示符PS1
反映更改 - 以顯示新的主機名。我知道這樣做的唯一方法是資助我的.bashrc
,其中定義了PS1
。但在腳本中調用. "${HOME}/.bashrc"
只會修改腳本的環境,而不是調用者的,據我所知。
那麼我怎樣才能讓呼叫者的PS1
提示更新以及自動顯示新的主機名?
你是說'\ h'不基於主機名動態地改變? –
改變所有這些應該正確設置,但你總是可以使'PS1'功能。 – tadman
@ IgnacioVazquez - 艾布拉姆斯正確的,直到我推出一個新的外殼(或手動資源'.bashrc')做'\ h'顯示當前的主機名(GNU的bash,版本48年3月4日(1)-release) – ardnew