Posts RSS Comments RSS 34 Wpisy and 8 Komentarze till now

Prompt BASH w linux – personalizacja wyświetlania

Prompt powłoki bash - zagadnienie to dotyczy bardziej wtajemniczonych użytkowników serwerów opartych o systemy operacyjne UNIX, w szczególności VPS, które udostępniają zasoby za pośrednistwem usługi SSH. Zazwyczaj jesteśmy skazani na to co domyślnie dostawca dystrybucji nam dał. Jeśli natomiast chcemy zmienić ustawienia pod nasze preferencje to drogi są dwie w zależności jaki zakres uprawnień do konfiguracji systemu posiadamy. Użytkownicy współdzielonych zasobów będa ograniczali się do ustawień lokalnych swojego konta i będą musiały edytować zawartość pliku (ukrytego) .bashrc .  W innym wypadku może się zdarzyć, że jesteś administratorem VPS/serwera dedykowanego – co daje Ci możliwość konfiguracji globalnych serwera (root), tutaj plik trzymający ustawienia znajduje się zazwyczaj w lokalizacji /etc/bashrc. W jedym i drugim przypadku edytujemy ustawienia jakie zostaną umieszczone w zmiennej systemowej PS1.

Ustawienia mające definiować własności PROMPT’a  sa jak już wspomniałem w zmiennej środowiska PS1, to tam możesz wyeksportować dostosowane do Twojej pomysłowości zmiany. Aby wyświetlić aktualne ustawienia możesz wydać polecenie:

echo $PS1 , w wyniku możesz otrzymać coś podobnego: [\u@\h \W]\$

Jak widać konstrukcja struktury wyświetlania prompt’a  jest oparta na użyciu sekwencji, które system (a raczej środowisko powłoki bash) interpretuje odpowienido, w przykładzie \u – oznacza nazwę zalogowanego użytkownika (można sprawdzić poleceniem echo $USER), ‘@’ – poprostu znak ‘małpa’, \h – nazwa hosta (nazwa  serwera), \W – główna część nazwy bieżącego katalogu roboczego. Poniżej tabela najbardziej użytecznych sekwencji do wykorzystania podczas tworzenia własnego prompt’a – przypominam, że można wykorzystywać tutaj również znaki alfanumeryczne.

\u – nazwa użytkownika

\h – nazwa hosta (do pierwszej kropki)

\H – pełna nazwa hosta (niepolecane)

\d – data w formacie “DzieńTyg Miesiąc Dzień”

\w – bieżący katalog roboczy (np. /home/aqq)
\W – łówna część nazwy bieżącego katalogu roboczego (np. “aqq”)

\\$ – jeśli jesteś adminem (UID=0) wyświetli #, jesli nie wyświetli $

Prompt – kolory.

Bash jako interpreter może wyświetlać kolor tekstu, w zawiązku z tym powstaje dodatkowa możliwość dostosowania znaku prompt do Twoich preferecji. Sekwencja do wyświetlania koloru jest “\e[(znak ucieczki) m”. Poniżej kolory i ich kody jakie są dostępne. Aby wyświetlić kolor czerwony na białym tle wpiszemy: “\e[31;47m” tekst poprzedzony tym znacznikiem bedzie się TAK WYŚWIETLAŁ, aby odwołać ten stan rzeczy należy na końcu kolorowanej frazy dodać znacznik “resetujący” ustawienia: “\e[0m”. Tabela kolorów poniżej:

Gotowy prompt: [\e[36;40m\u\e[0m@\h/\W\e[31;40m\$\e[0m> .

Bazując na wiedzy opisanej powyżej i dokonując kilku prób, sam zdefiniowałem najbardziej użyteczny dla mnie prompt, Ty też tak możesz ;)

Trackback this post | Feed on Comments to this post

Leave a Reply

You must be logged in to post a comment.