删除 bash 提示符中的连字符

remove hyphen in bash prompt

我的bashPS1提示配置为:

export PS1="\e[1;38;5;120m\n\s \V\$ \e[0m"

看起来像

-bash 5.0.7$

bash 前面加上连字符 - 很烦人。有谁知道我怎样才能摆脱它?

可能与您的想法不完全相同,但是将 \s 替换为文字文本 bash 会做到这一点:

export PS1="\e[1;38;5;120m\nbash \V\$ \e[0m"

像这样设置提示无论如何都不适用于其他 shell。

出现 - 是因为 login 程序 运行 是您的默认值 shell,带有前缀 - 以指示登录 shell 应该被使用(相当于 bash -l)。

\s 本质上只是 basename "[=16=]" 的同义词。如果您一开始无法轻松更改 shell 是 运行 的方式,则可以修改提示以从 [=18=] 中删除 -

PS1="\e[1;38;5;120m\n${0#-} \V\$ \e[0m"

(除非您另有说明,否则我假设不需要对 [=18=] 进行其他处理。)