如何自定义命令提示符?

如何自定义命令提示符?

我愿意将命令提示符改为类似

user$

其中user不是root并且

root#

当当前用户是root. 我搜索了一下,发现这是通过\$特殊字符实现的,现在我的 ~/.bashrc 中有类似这样的内容

PS1="\u\$ "

不幸的是,当当前用户为 时,\$不会显示为。例如,执行#root

user$ sudo bash

我得到了命令提示符

root$

代替

root#

我是否遗漏了什么?

答案1

在您的~/.bashrc

if [ "$(whoami)" = "root" ]; then PS1="\u# "; else PS1="\u\$ "; fi

当你打开一个新终端时,你将会得到,

user$
user$ sudo bash
root#

笔记:它只适用于sudo bash。因为sudo -isudo su将检查/root/.bashrc用户的.bashrc。要获得相同的行为,/root/.bashrc也请复制相同的内容。

替代更好的方法:

PS1可以通过设置为来实现相同的效果

PS1="\u\\$ "          

在用户和根用户中.bashrc

相关内容