Versão funcional
Instruções:
O script considera que você está usando o gnome-terminal , que é o terminal padrão do Ubuntu.
Antes de executar o script, abra o terminal gnome e crie alguns perfis (Editar> Preferências> Perfis) com configurações diferentes, conforme desejado (cor de fundo, cor do texto, etc.). Você pode nomeá-los como Perfil1, Perfil2, Perfil3 e assim por diante. Crie perfis suficientes para cobrir a quantidade de terminais que serão abertos, mas se um número maior de terminais for aberto, o perfil padrão será usado.
O script cria um arquivo ~ / .Bash_Color_Changer , do qual depende, pois informa o script se o terminal foi aberto regularmente ou após uma chamada em .bashrc .
Adicione o script ao final do seu arquivo ~ / .bashrc .
Roteiro:
Adicionar a .bashrc
:
#Change color according to the number of Bash shells opened
#Creates the .Bash_Color_Changer file if it's not present
if ! [ -f ~/.Bash_Color_Changer ]; then
echo ORIGINAL > ~/.Bash_Color_Changer
fi
#Array holding the name of the profiles: Substitute it for the names you're using
Color_counter=(Profile1 Profile2 Profile3)
#Finds out the number of opened bashs counting the lines containing "bash"
#in the pstree function. (-c deactivates compact display to avoid it showing
#lines with "2*[bash]" instead of one for each bash)
Number_of_bashs=$(($(pstree -c | grep "bash" | wc -l)-1))
#Checks if the terminal being opened was opened by the user or by
#the script, and act according to it
if [ $(cat ~/.Bash_Color_Changer) = ORIGINAL ]; then
if ((Number_of_bashs < ${#Color_counter[*]})); then
echo COPY > ~/.Bash_Color_Changer
gnome-terminal --tab-with-profile-internal-id=${Color_counter[${Number_of_bashs}]}
exit
fi
else
echo ORIGINAL > ~/.Bash_Color_Changer
fi
Testado, mas não extensivamente. Desfrutar!