Rah*_*waj 9 command-line bash bashrc ps1
我想更改 PS1 在 bash 中显示的用户名中特定字母的颜色。
例如:如果我\u
是rahul
,我希望字母h
为蓝色,其余为白色。
我知道,\u
是指用户名和添加颜色到整个“实体”是通过添加标签,如完成:[\033[38;5;15m\]
。
如果可能的话,我能知道如何做同样的事情吗?
Seb*_*ark 13
如果你不介意不使用\u
转义,你可以这样做:
PS1="\[\e[0;31m\]${USER:0:1}\[\e[m\]${USER:1} "
Run Code Online (Sandbox Code Playgroud)
这会将提示设置为仅用户名和空格。用户名的第一个字符将是红色的。这是通过在$USER
特定范围内将变量扩展两次来实现的。第一次范围是从 0 到 1。第二次是从 1(第二个字符)到结尾。
要获得您要求的提示,请使用以下命令:
PS1="${USER:0:2}\[\e[0;34m\]${USER:2:1}\[\e[m\]${USER:3} "
Run Code Online (Sandbox Code Playgroud)