![创建新用户,bash 提示不一致](https://linux22.com/image/1116031/%E5%88%9B%E5%BB%BA%E6%96%B0%E7%94%A8%E6%88%B7%EF%BC%8Cbash%20%E6%8F%90%E7%A4%BA%E4%B8%8D%E4%B8%80%E8%87%B4.png)
我创建了一个新的用户配置文件:
useradd kitty
passwd kitty
mkdir kitty
chmod 0700 kitty
chown -R kitty:kitty
adduser kitty sudo
#when I did it I initially didn't notice I'm using two different commands,
#hence the inconsequence, but as I've read up there are interchangeable anyway,
#just listing it in case it actually makes any difference
我还在 kitty 的主文件夹中创建了一个 .bashrc 文件,其内容如下:
export PS1='[\u@\h \w] '
最初,制表符补全不起作用,Kitty 的提示符是标准的 $ 符号,尽管我篡改了 /etc/profile /etc/bash.bashrc /etc/bash_completion 并在主目录中为我的主要用户和 Kitty 创建了 .bashrc,但我最终撤消了所有更改,只在 Kitty 的主目录中留下了 .bashrc 文件。所以我猜是重启解决了这些问题(原文如此)。
现在的问题是:当我在主配置文件的终端窗口中以 kitty 身份登录时,提示符会像我的主配置文件一样出现,并带有所有格式(颜色/粗体),但当我以 kitty 身份登录时,她的本机 bash 提示符具有标准格式。为什么?
编辑:正如我所注意到的,提示的内容也略有不同,我的主要个人资料上的提示内容后面跟着一个 $ 符号,而 kitty 的提示内容后面没有 $ 符号,而是用方括号括起来。
我在终端窗口中使用sudo login
和在配置文件之间切换exit
。当我在系统启动时以 kitty 身份登录时,终端会在彩色(以我的主要用户身份登录)和标准(kitty 的)配置文件之间切换。如果在系统启动时我以我的主要用户身份登录,它会以相同的方式为两者(kitty 和主要用户)着色。
答案1
看起来 kitty 的 shell 是/bin/sh
。这是一个用于编写脚本的 shell,它不支持花哨的提示、完成、命令行编辑和其他交互功能。将 kitty 的 shell 更改为/bin/bash
:
chsh -s /bin/bash kitty