den*_*iel 6 command-line bash prompt bashrc
我创建了一个新的用户配置文件:
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
Run Code Online (Sandbox Code Playgroud)
我还在 kitty 的主文件夹中创建了一个 .bashrc 文件,其内容为:
export PS1='[\u@\h \w] '
Run Code Online (Sandbox Code Playgroud)
最初选项卡完成不起作用,并且提示 kitty 是标准的 $ 符号,尽管我已经篡改了 /etc/profile /etc/bash.bashrc /etc/bash_completion 并在主目录中为两者创建了 .bashrc我的主要用户和小猫,我最终撤销了所有更改,只将 .bashrc 文件留在了小猫的主目录中。所以我想是重启解决了这些问题(原文如此)。
现在的问题是:当我在主配置文件的终端窗口中以 kitty 身份登录时,出现的提示与我的主配置文件一样,带有所有格式(颜色/粗体),但是当我以 kitty 身份登录时,她的本地 bash 提示有标准格式。为什么?
编辑:正如我注意到的那样,提示的内容也略有不同,我的主要个人资料中的提示后跟 $ 符号,而小猫缺少 $ 符号并括在方括号中。
我在终端窗口中使用sudo login
和exit
在配置文件之间切换。当我在系统启动时以 kitty 身份登录时,在终端中它会在彩色(作为我的主要用户登录)和标准(kitty 的)之间切换。如果在系统开始时我以主要用户身份登录,它会以相同的方式为两者(小猫和主要用户)着色。
看起来像小猫的壳/bin/sh
。这是一个用于脚本编写的 shell,它不支持花哨的提示、完成、命令行编辑和其他交互功能。将 kitty 的 shell 更改为/bin/bash
:
chsh -s /bin/bash kitty
Run Code Online (Sandbox Code Playgroud)