Witam, w niniejszym artykule postaram się opisać konfigurację i używanie
powłoki tcsh.
Tcsh jest powłoką o edytowalnej i dopełniającej nazwę pliku linii komend.
Jest to powłoka kompatybilna z C shell, czyli csh. Posiada w sobie m.i.n:
Pliki konfiguracyjne znajdują się w katalogu /etc, są to:
Oczywiście pliki te mogą być umieszczone w katalogach użytkowników systemu.
Wtedy każdy user może mieć własne ustawienia powłoki:
Przykładowa konfiguracja
Tcsh posiada miłą funkcję dopełniania naszego polecenia, dzięki temu nie
musimy pamiętać jakiś długich poleceń czy też ścieżek.
np:
ls -l /usr/bi
tu wciskamy TAB, który dopełni nam polecenie do postaci:
ls -l /usr/bin
Również gdy chcemy wydać jakieś polecenie (np: ls | grep plik_tekstowy)
i wpiszemy:
ls | grep plik
tu wciskamy TAB powłoka wtedy nam wyświetli
wszystkie pliki zaczynające się na 'plik' (o ile takowe istnieją).
Przykład:
A co z aliasami?
Wystarczy tylko wpisać je do pliku konfiguracyjnego powłoki (możemy wpisać
to też z poziomu samej powłoki, jako polecenie).
Zasada dodawania aliasu wygląda następująco:
<nazwa aliasu> <nasze_nowe_polecenie> '<polecenie_które_ma_zostać_wywołane>'
Czyli np:
Testujemy:
A może by tak to upiększyć?
Tak.. Dlaczego by nie pokusić się o upiększenie i polepszenie
funkcjonalności naszego znaku zachęty (czyli promptu)?
Zanim przejdę do omawiania możliwości troszkę jeszcze popiszę. Otóż pewnie
zauważyliście, że podczas pierwszego zalogowania się w świeżo zainstalowanym
systemie nasz znak wygląda jak ... zza krzaka, czyli nijak. Według mnie
prompt powinien spełniać takie warunki:
Zakładam następujący wzór:
login@host # sciezka # >
Jak spełnić te warunki?
W pliku konfiguracyjnym powłoki musimy wpisać ustawienie naszego prompta.
Wpis wygląda następująco:
set prompt = "tu nasze zmienne"
A co możemy wpisać w zmiennych?
Oto lista podstawowych zmiennych i opcji (dla uzyskania wszystkich opcji
polecam 'man tcsh' lub google).
Już tyle powinno nam kompletnie starczyć.
Pełną listę można znaleźć na stronie tcsh.org.
Dla przykładu posłużę się wpisem, który nam zapewni wyświetlanie w znaku
zachęty następujących informacji:
nazwa zalogowanego usera, host komputera, aktualną godzinę, aktualną ścieżkę.
Oto kod:
Po przelogowaniu się otrzymamy:
[login@host.pl]~[15:41]~[tmp]>>
Fajnie to wygląda prawda ? :)
Możemy też dać w tekście '\n' co przeniesie nam wiersz niżej, np:
Otrzymujemy:
[login@host.pl] [15:47]
[tmp]#
No tak, wygląda ładnie, ale co z obiecanymi kolorami?
Otóż do naszego prompta dodamy kod ascii koloru :) Wtedy nam tcsh będzie
barwił prompta.
Ja do kolorowania używam edytora 'ee'
W 'ee' kolor ascii uzyskamy wpisując: Ctrl+o (w linuxie i np OpenBSD bodajże
ctrl+a).
Wtedy edytor prosi nas o podanie kodu ascii, wpisujemy '27'.
W tekście pojawi sie symbol '^['. teraz dopisujemy kod koloru w formacie [Xm.
(Gdzie X jest kodem koloru). I tak jeżeli chcemy uzyskać kolor zielony (imho
pasujący do czerni terminala),
wpisujemy: ctrl+o -> 27 potem dopisujemy [32m.
Dzięki temu otrzymamy: ^[[32m.
Kod koloru w prompcie umieszczamy w zmiennej tekstu, czyli:
%{^[[32m%}
I tak nasz prompt będzie wyglądał następująco:
(^[[0m to kod który wyłącza kolor i ustawia domyślny).
Warto też dopisać ^[[1m na początku, co nam zapewni pogrubienie prompta.
czyli końcowy prompt ma taki ciąg:
Oczywiście nie wpisuj ^[[Xm z klawiatury :) bo nie zadziała :).
^[ uzyskujesz po wklepaniu ctrl+o lub a -> 27.
I to by było chyba na tyle jeżeli chodzi o TCSH. Mam nadzieję, że sam/a
dojdziesz do reszty opcji promptu tcsha i kodów koloru.
Gwoli ścisłości dodam ze kolory z tłem mają początek '4', czyli np: '41m'.
Powodzenia....
Dodatek: Mały spis kodów kolorów...
Podziękowania:
- Cepa (za liste kolorów)
- harvester (za wyprowadzenie mnie z błędu co do %{x%} :) )
Oryginalny artykuł znajduje się w serwisie BSD4U.
Autor: Karol 'lofix' Gogiel.
Powrót na górę strony...