Linux提示缺少括号

Linux提示缺少括号

我在我的 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身份登录,然后复制或记下该值。然后切换到并将其设置为 的值。如果您希望它粘住,请将其保存。rootecho $PS1regular$PS1~/.bashrc

所有这些都在 中进行了更详细的解释man bash

答案3

或者,你可以克隆这个:

git clone git://github.com/christopher-barry/bash-color-tools.git

从树的根运行 ./install ,并具有自定义主题颜色提示:)

相关内容