Функціональна версія
Інструкції:
Сценарій вважає, що ви використовуєте gnome-термінал , який є терміналом Ubuntu за замовчуванням.
Перш ніж запустити скрипт, відкрийте gnome-термінал і створіть кілька профілів (Правка> Налаштування> Профілі) з різними налаштуваннями за вашим бажанням (колір тла, колір тексту, ..). Ви можете назвати їх Profile1, Profile2, Profile3 тощо. Створіть достатню кількість профілів, щоб покрити кількість терміналів, які будуть відкриті, але якщо відкрито більшу кількість терміналів, буде використаний профіль за замовчуванням.
Сценарій створює файл ~ / .Bash_Color_Changer , від якого він залежить, оскільки він повідомить сценарій, якщо термінал відкривався регулярно або після виклику на .bashrc .
Додайте скрипт до кінця файлу ~ / .bashrc .
Сценарій:
Додати до .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
Випробувано, але не широко. Насолоджуйтесь!