我想提示(和命令,如果可能的话)粗体。
所以,如果我执行所有这些命令:
username$ ls
*lists a bunch of things*
username$ mkdir testdir
username$ ls
*lists a bunch of things*
我想要
username$ ls
username$ mkdir testdir
username$ ls
全部以粗体显示,或者至少username$
以粗体显示。仅仅因为当我滚动终端以了解何时执行新命令和东西时很难。
这可能吗?
提前致谢。
答案 0 :(得分:2)
提示部分(username$
)由PS1
shell变量控制。您可以通过任何init脚本更改该变量,如下所示:
export PS1="\[\e[1m\]$PS1\[\e[0m\]"
那里的1
编码"粗体"而最后的0
是"重置"。如果你没有在那里放置一个重置,那么该行的其余部分也会受到影响,但是任何文本也会受到影响,这可能不是你所做的那样。寻找。
您可以使用分号代码分隔代码来添加更多样式和颜色:
export PS1="\[\e[1;5;31m\]$PS1\[\e[0m\]"
基本代码可以用简单的单行代码枚举:
for x in $(seq 0 255); do printf "\x1b[${x}m${x}\x1b[0m\n"; done
有关详细信息,请参阅ANSI escape codes。
虽然\[
和\]
不是ANSI代码的一部分,但是特定于PS1
:它们告诉bash两者之间的字符是非打印的,它是重要的,例如计算换行。请参阅bash prompt escape sequences。