小编Diz*_*ley的帖子

我更改了主机名,为什么我的 bash PS1 提示未更改?

我通过编辑 /etc/hostname 更改了我的主机名,并且可以使用hostnamehostname -F命令查看新的主机名。

但是 shell 提示仍然显示旧的主机名。

顺便说一下,这是 Ubuntu 11.0.4。提示设置在我.bashrc没有编辑的我。注销甚至重新启动都没有效果。

标准 Ubuntu 的相关部分.bashrc

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
Run Code Online (Sandbox Code Playgroud)

($debian_chroot 在我登录时未设置...)

我猜主机名是由特殊字符 \h 获取的。

这是 shell 中报告的 PS1 设置:

PS1='\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
Run Code Online (Sandbox Code Playgroud)

这是 PS1 显示的内容:

username@oldhostname:~$ 
Run Code Online (Sandbox Code Playgroud)

我使用沃伦回答中的确切命令重复了这个过程。事实证明,主机名在重新启动之前一直有效,但随后它就会丢失,即使/etc/hostname包含新的主机名。

bash ubuntu hostname

23
推荐指数
2
解决办法
3万
查看次数

标签 统计

bash ×1

hostname ×1

ubuntu ×1