Jak mogę sprawić, aby bash wyglądał tak kolorowo?

Jak mogę sprawić, aby bash wyglądał tak kolorowo?

Odpowiedzi:
Otwórz ~/.bashrcw edytorze tekstu i wierszu polecenia:
#force_color_prompt=yes
być:
force_color_prompt=yes
zapisz, a następnie uruchom source ~/.bashrc
force_color_prompt=yeszamierzony sposób na włączenie kolorów? Dla mnie wymuszanie brzmi jak obejście.
Wymyśliłem to rozwiązanie:
skopiuj to i dodaj na końcu pliku .bashrc:
PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] 'zapisz plik i uruchom ponownie bashrc:
source ~/.bashrcAby wyświetlić pełną listę dostępnych kolorów i innych opcji, wyszukaj następujące linki:
Wersja, która jest nieco bardziej „ogólna” - powinna działać w zróżnicowanym środowisku:
(zależy od terminfo)
Wstaw to do $HOME/.bashrc:
function fgtab {
echo "tput setf/setb - Foreground/Background table"
for f in {0..7}; do
for b in {0..7}; do
echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
done
echo -e "$(tput sgr 0)"
done
}
# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]\$\[${crst}\] "
Następnie wykonaj source ~/.bashrc.
Następnie fgtabwyświetli tablicę kolorów z liczbami. Liczby te oznaczają tput setf ni tput setb ngdzie „n” jest liczbą, „f” oznacza „pierwszy plan”, a „b” oznacza kolor „tła”.
tput sgr 0 zresetuje kolory pierwszego planu i tła do wartości domyślnych.
I jak widać, zmiana kolorów używanych w monicie staje się naprawdę łatwa (wystarczy edytować ten sam numer, $HOME/.bashrcjak chcesz).
Dodaj $(tput setb n)in $cname, jeśli chcesz mieć wszystkie wierszu z tłem n.
man 5 terminfopokazuje, z czym tputmożna korzystać, jest to jednak trochę techniczne, więc „uważaj” - ale trochę zgadywania i testowania mogą faktycznie pozwolić ci to zadziałać.