我在我的 VPS 服务器和访客系统中使用 centos。访客系统有两种登录方式。一种是根,一种是常规。当我挂载来宾系统并chroot到挂载目录后,我切换到挂载的来宾系统中的常规帐户。然后括号漏掉了,如下图:
[root@server image]# chroot /mnt/guest34
[root@server /]# su - regular
-bash-4.1$ sd
-bash: sd: command not found
答案1
您应该阅读有关.bash_profile
和 的内容.bashrc
。括号中的信息只是通常位于您的主目录和/或/etc/profile
(查找以 开头的行PS1=
)中的文件的首选项。我假设当您 chroot 时,该用户无权访问其主文件夹来加载这些文件,因此您的提示本质上是未自定义的。
大多数现代发行版都会显示类似的内容,[user@server directory]#
但这种行为是由这两个文件控制的。您看到的是没有自定义的 bash,因为它们无法从用户的主页加载。
答案2
你有什么问题?
提示的外观由$PS1
变量定义。您的regular
帐户只是变量值中没有括号。
如果您希望regular
提示看起来像您的提示,请首先以和root
身份登录,然后复制或记下该值。然后切换到并将其设置为 的值。如果您希望它粘住,请将其保存。root
echo $PS1
regular
$PS1
~/.bashrc
所有这些都在 中进行了更详细的解释man bash
。
答案3
或者,你可以克隆这个:
git clone git://github.com/christopher-barry/bash-color-tools.git
从树的根运行 ./install ,并具有自定义主题颜色提示:)