我正在使用 Ubuntu,可以手动将bash
shell 提示符颜色更改为绿色的使用
export PS1="\e[0;32m[\u@\h \W]\$ \e[m"
但是,我希望每次打开新终端或选项卡时,shell 提示符颜色都会自动更改。我知道基本 tty TERM 有 16 种颜色,如果打开了超过 16 个终端,可以旋转颜色。当我通过 、 或 连接时,该解决方案是否Putty
也tmux
有效screen
。
我的想法是编写一个shell
脚本并将其放置在.bashrc
检测用户打开的新终端会话中,并将全局计数器从 增加到\e[0;31m[
。\e[0;47m[
如何检测用户打开的终端数量?
答案1
计算终端(例如who - a | grep user | wc -l
:)将不起作用:当一个或多个外壳关闭时,总数会减少,新的终端可能会与另一个已经打开的终端匹配。
你应该有一个计数器:
如果你想要总共 6 种颜色:
touch ~/.colornumber
new=$(awk '(NR==1) { print ($1 + 1) % 6; }' ~/.colornumber)
echo $new > ~/.colornumber
#and use color number $new for your current terminal, for example defined in an array of 6 entries.
# just note here that color 0 is for the 6th terminal, not the first... or change the awk above