
Ubuntu를 사용하고 있으며 bash
쉘 프롬프트 색상을 수동으로 변경할 수 있습니다.녹색사용하여
export PS1="\e[0;32m[\u@\h \W]\$ \e[m"
그러나 새 터미널이나 탭을 열 때마다 쉘 프롬프트 색상이 자동으로 변경되기를 원합니다. 기본 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