如何在 centos 上自定义 bash 提示符?

如何在 centos 上自定义 bash 提示符?

我已经修改了/etc/bashrc文件。

我注释掉了之前的定义并插入了我自己的定义:

PS1="--bash: (\u@\h:\w) $"

这没有任何影响。当我在命令提示符下进行此更改时,效果很好,但它不是永久性的。

答案1

/etc/bashrc是系统设置。更改提示的通常位置是每个用户文件~/.bashrc.您可能已经有一个覆盖系统默认设置的设置。将您的提示字符串放入~/.bashrc.

此外,bash 对初始化文件的处理有一个怪癖。/etc/bashrc和文件~/.bashrc仅针对非登录 shell 的 bash 交互式实例读取。如果您运行登录 shell,bash 只会读取/etc/profile, 和~/.bash_profile(或者~/.profile如果它不存在)。如果登录 shell 是交互式的,您需要显式地.bashrc从您的源中获取:.bash_profile

# Work around a well-known bash design bug: bash does not read .bashrc if
# it is invoked as a login shell.
case "$-" in *i*) if test -r ~/.bashrc; then . ~/.bashrc; fi;; esac

相关内容