我有一个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