Jak dostosować monit terminala Ubuntu


Twój system Ubuntu używa jako domyślnej aplikacji bash lub myślnik. Wpisujesz swoje polecenia w domyślnym monitie, który zwykle zawiera nazwę użytkownika, nazwę hosta i bieżący katalog w niektórych predefiniowanych motywach kolorystycznych. Bash zapewnia wiele opcji dostosowywania dla monitu, którego można użyć nie tylko do włączenia różnych funkcji w monicie, ale także do rozróżnienia ich za pomocą różnych kolorów.

W tym artykule wykorzystamy różne przykłady, aby dostosować i ponownie pokolorować monit naszej aplikacji Terminal, który pozwoli ci zrobić to samo w zależności od potrzeb. Uruchamiamy polecenia i procedury opisane w tym artykule w systemie Ubuntu 18.04 LTS.

Wyświetl bieżącą konfigurację monitu Bash

Po otwarciu terminala za pomocą Dash lub skrótu Ctrl + Alt + T zobaczysz następujący monit:

username@hostname:directory$

Domyślny format zawiera nazwę użytkownika, nazwę hosta, a następnie bieżący katalog użytkownika. Bash pobiera tę konfigurację z pliku bashrc, który jest konfigurowany indywidualnie dla każdego użytkownika w katalogu domowym. Oto jak możesz otworzyć ten plik:

$ nano ~/.bashrc

Lokalizacja: /home/username/.bashrc

Możesz również użyć dowolnego innego edytora tekstu, aby otworzyć ten plik.

Tak wygląda ten plik konfiguracyjny. Tutaj pokazujemy odpowiednią część pliku.

Zmienna PS1, którą widzisz na powyższym obrazie, ma wszystkie wymagane ustawienia dla polecenia bash Wyjaśnijmy najpierw, co oznaczają znaki w tej zmiennej. Możesz zobaczyć tę zmienną wyraźnie w zmiennej PS1 wymienionej po instrukcji else.

  • \ u-Wskazuje nazwę użytkownika bieżącego użytkownika
  • \ h: Wskazuje nazwę hosta bieżącego użytkownika wyodrębnioną z w pełni kwalifikowanej nazwy domeny.
  • \ w: Wskazuje bieżący katalog roboczy. Twój katalog domowy jest oznaczony symbolem tyldy ~.
  • \ $: Wskazuje, czy jesteś zwykłym użytkownikiem ($) czy użytkownikiem root (#).

Możesz również wyświetlić konfigurację zmiennej PS1, wyświetlając jej wartość w następujący sposób:

Dostosuj monit Shell

Po sprawdzeniu, gdzie przechowywane są informacje pytania i co opisuje zmienna PS1, zobaczmy, jak można ją edytować w celu dostosowania naszego polecenia bash.

Przed edycją zmiennej PS1 ważne jest, aby zapisać jej domyślną zawartość w nowej zmiennej. Pomoże nam to przywrócić monit do oryginalnej konfiguracji, jeśli coś pójdzie nie tak. Wpisz w terminalu następujące polecenie:

$ DEFAULT=$PS1

Teraz zmienna „DOMYŚLNA” zawiera wszystkie informacje potrzebne do przywrócenia domyślnych ustawień monitu.

Eksperymentujmy teraz z naszą zmienną PS1. Wprowadź następującą komendę:

$ PS1="\u$ "

Ta nowa wartość PS1 ma następujący wpływ na twój monit:

Teraz możesz zobaczyć tylko swoją nazwę użytkownika i informacje o użytkowniku root bez żadnych kolorów, ponieważ nie ustawiono jeszcze informacji o kolorach.

Wpiszmy następującą komendę, aby nasz monit wyświetlał również nasz katalog roboczy

$ PS1="\u:\w$ "

Ta nowa wartość PS1 ma następujący wpływ na monit:

Ponieważ mój katalog roboczy był w domu, widziałem tylko ~ symbol. W innym katalogu, powiedzmy bin, mój monit wyświetli następujące informacje:

Ustaw monit z powrotem do wartości domyślnej

Ponieważ zapisaliśmy oryginalną konfigurację zmiennej PS1 w zmiennej DEFAULT, możemy ustawić wartość PS1 z powrotem domyślnie, wprowadzając wartość naszej zmiennej DEFAULT.

Co jeszcze możesz dostosować?

Jeśli chcesz, aby twój monit zawierał określony niestandardowy tekst , możesz użyć następującego sytanx:

$ PS1="[custom text] \u@\h:\w$ "

Przykład:

Skonfigurowałem mój monit, aby dołączyć niestandardową wiadomość w następujący sposób:

Możesz wpisać następujące podstawowe znaki w pytaniu:

Znak Cel
\ d Data w formacie daty miesiąca miesiąca.
\ e Znak dzwonka.
\ a Znak ucieczki.
\ h Nazwa hosta bieżącego użytkownika do „.”
\ H Nazwa hosta bieżącego użytkownika.
\ l Basename urządzenia końcowego.
\ j Liczba zadań uruchamianych przez powłokę.
\ r Zwrot karetki.
\ n Nowa linia.
\ u Nazwa użytkownika bieżącego użytkownika.
\ v Wersja Bash.
\! Wydrukuj numer historii uruchamianego polecenia.

Możesz uwzględnić bieżący czas systemowy w swoim znaku zachęty za pomocą następującego polecenia:

$ PS1=”\A\u: \w$ “

Ta nowa wartość PS1 ma następujący wpływ na twój znak zachęty:

Możesz również dostosować swój znak zachęty, aby zawierał wyjście polecenia; daje to nieograniczone opcje do włączenia w monit.

Składnia:

$ PS1="\u@\h on `[command]` \w$ "

Przykład:

W tym przykładzie ustawię monit o podanie nazwy grupy podstawowej, do której należy bieżący użytkownik.

$ PS1="\u@\h on `id -gn` \w$ "

Pokoloruj monit

Po dostosowaniu monitu zdasz sobie sprawę, że sprawy mogą wyglądać na nieco pomieszane. Prostym powodem jest to, że nie jest zbyt łatwo odróżnić jedną cechę od drugiej, jeśli wszystkie są wymienione w tym samym kolorze. Nauczmy się teraz, jak pokolorować monit, aby był przyjemniejszy dla oka.

Aby dodać kolory do jednej lub więcej funkcji, zmienna PS1 zawiera tagi kolorów. Podświetlony tekst na poniższym obrazie jest kolorem.

Jest to format znacznika koloru:

\[3[COLOR]m\]

Na przykład domyślna nazwa użytkownika i nazwa hosta, które widzimy w domyślnym monitie terminala, są zielone z powodu następującego znacznika koloru:

\[3[01;32m\]\u@\h

Możesz: zmień tę wartość koloru w stosunku do funkcji zachęty, aby nadać jej nowy kolor lub dodaj nowy znacznik koloru do funkcji, która nie ma żadnej.

Oto kilka typowych kolorów i ich wartości:

Kolor Wartość
Zielony 32
Czerwony 31
Czarny 30
Niebieski 34
Cyjan 36
Fioletowy 35
Żółty 33
Biały 37

Przykład:

Poniższe polecenie zmieni kolor monitu na czerwony, ponieważ określamy 31 (kolor czerwony) w znaczniku koloru:

$ PS1="\[3[31m\]\u@\h:\w$ "

Użyj Style tekstu w monicie

Możesz dodawać style do tekstu zachęty, przypisując wartość atrybutu do znacznika koloru.Oto format znacznika koloru z atrybutem:

\[3[ATTRIBUTE; COLORm\]

Możesz użyć następujących wartości atrybutu dla tekstu zachęty:

Wartość atrybutu Cel
0 Tekst normalny (jest to wartość domyślna nawet jeśli nie ustawiono żadnego atrybutu)
1 W terminalu Ubuntu ta wartość określa pogrubiony tekst
2 Dim text
4 Podkreślenie tekstu
5 Dla migającego tekstu
7 Odwraca kolory tekstu i tła
8 W przypadku ukrytego tekstu

Przykład:

Możesz użyć następującego polecenia, aby podkreślić swój znak zachęty:

$ PS1="\[3[4;31m\]\u@\h:\w$ "

Wartość 4 wskazuje, że chcemy „podkreślić” tekst.

Dokonaj trwałych zmian w monicie

Komendy, które wykonałeś do tej pory, zmienią tylko monit dla bieżącej sesji bash. Po eksperymentowaniu z dostosowywaniem tekstu i kolorowaniem monitu oraz osiągnięciu ostatecznego ustawienia, które chcesz ustawić na stałe dla wszystkich sesji bash, musisz edytować plik bashrc.

Otwórz plik .bashrc i skopiuj sfinalizowaną wartość PS1 w linii PS1 pod if; następnie linia. Na poniższym obrazku właśnie zmieniłem kolor mojego monitu na czerwony:

Zapisz plik, naciskając Ctrl + X , a następnie naciskając Y . Zmiany w zachęcie do bash będą teraz trwałe. Wyjdź z terminala i ponownie otwórz, aby zobaczyć, że Twój monit bash będzie nadal taki sam, jak ustawiony.

Po ćwiczeniu wraz z tym samouczkiem możesz doskonalić dostosowywanie swojego polecenia bash. Następnie można skonfigurować kolory w celu rozróżnienia różnych funkcji włączonych do monitu. W ten sposób będziesz mógł przeglądać i wykorzystywać te przydatne informacje za każdym razem, gdy użyjesz monitu bash.

Komentarze