Wyszukiwanie w witrynie

Jak dostosować kolory i zawartość Bash w wierszu poleceń terminala Linux


Obecnie Bash jest domyślną powłoką w większości (jeśli nie we wszystkich) nowoczesnych dystrybucjach Linuksa. Być może jednak zauważyłeś, że kolor tekstu w terminalu i treść podpowiedzi mogą się różnić w zależności od dystrybucji.

Sugerowana lektura: 5 najczęściej używanych powłok Open Source dla Linuksa

Jeśli zastanawiasz się, jak dostosować to dla lepszej dostępności lub po prostu dla kaprysu, czytaj dalej – w tym artykule wyjaśnimy, jak to zrobić.

Zmienna środowiskowa PS1 Bash

Wiersz poleceń i wygląd terminala są regulowane przez zmienną środowiskową o nazwie PS1. Według strony podręcznika Bash, PS1 reprezentuje główny ciąg znaków zachęty, który jest wyświetlany, gdy powłoka jest gotowa do odczytania polecenia.

Dozwolona zawartość w PS1 składa się z kilku znaków specjalnych zakończonych odwrotnym ukośnikiem, których znaczenie podano w sekcji PROMPPING strony podręcznika.

Dla ilustracji wyświetlmy aktualną zawartość PS1 w naszym systemie (w Twoim przypadku może to wyglądać nieco inaczej):

echo $PS1

[\u@\h \W]$

Wyjaśnimy teraz, jak dostosować PS1 do naszych potrzeb.

Dostosowywanie formatu PS1

Zgodnie z sekcją PODPOWIEDZI na stronie podręcznika, takie jest znaczenie każdego znaku specjalnego:

  1. \u: nazwa użytkownika bieżącego użytkownika.
  2. \h: nazwa hosta aż do pierwszej kropki (.) w pełnej nazwie domeny.
  3. \W: nazwa bazowa bieżącego katalogu roboczego, z $HOME w skrócie tyldą (~).
  4. \$: Jeśli bieżący użytkownik jest rootem, wyświetl #, w przeciwnym razie $.

Na przykład możemy rozważyć dodanie \!, jeśli chcemy wyświetlić numer historii bieżącego polecenia, lub \H, jeśli chcemy wyświetlić nazwę FQDN zamiast krótka nazwa serwera.

W poniższym przykładzie zaimportujemy oba do naszego bieżącego środowiska, wykonując to polecenie:

PS1="[\u@\H \W \!]$"

Po naciśnięciu Enter zobaczysz, że treść podpowiedzi zmienia się, jak pokazano poniżej. Porównaj monit przed i po wykonaniu powyższego polecenia:

Teraz pójdźmy o krok dalej i zmieńmy kolor użytkownika i nazwy hosta w wierszu poleceń – zarówno tekst, jak i otaczające go tło.

Właściwie możemy dostosować 3 aspekty podpowiedzi:

Text Format Foreground (text) color Background color
0: normal text 30: Black 40: Black
1: bold 31: Red 41: Red
4: Underlined text 32: Green 42: Green
33: Yellow 43: Yellow
34: Blue 44: Blue
35: Purple 45: Purple
36: Cyan 46: Cyan
37: White 47: White

Użyjemy znaku specjalnego \e na początku i m na końcu, aby wskazać, że poniżej znajduje się sekwencja kolorów.

W tej sekwencji trzy wartości (tło, format i pierwszy plan) są oddzielone przecinkami (jeśli nie podano żadnej wartości, przyjęto wartość domyślną) .

Sugerowana lektura: Naucz się skryptowania powłoki Bash w systemie Linux

Ponadto, ponieważ zakresy wartości są różne, nie ma znaczenia, który (tło, format czy pierwszy plan) określisz jako pierwszy.

Na przykład następujący kod PS1 spowoduje wyświetlenie monitu w żółtym podkreślonym tekście z czerwonym tłem:

PS1="\e[41;4;33m[\u@\h \W]$ "

Choć wygląda dobrze, to dostosowanie będzie obowiązywać tylko w przypadku bieżącej sesji użytkownika. Jeśli zamkniesz terminal lub opuścisz sesję, zmiany zostaną utracone.

Aby wprowadzić te zmiany na stałe, będziesz musiał dodać następujący wiersz do ~/.bashrc lub ~/.bash_profile w zależności od Twojej dystrybucji:

PS1="\e[41;4;33m[\u@\h \W]$ "

Możesz pobawić się kolorami, aby znaleźć ten, który będzie dla Ciebie najlepszy.

Streszczenie

W tym artykule wyjaśniliśmy, jak dostosować kolor i treść zachęty Bash. Jeśli masz pytania lub sugestie dotyczące tego posta, skorzystaj z poniższego formularza komentarza, aby się z nami skontaktować. Oczekujemy na kontakt zwrotny!