Próbuję zmienić kolor mojej powłoki, z którą łączę się za pomocą Putty .
Kiedy to piszę
export PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h:\w\$ '
Dostaję dokładnie to, czego chcę. Wszystko jest zielone i dotyczy tylko użytkownika root, dzięki czemu mogę odróżnić roota od innych użytkowników.
Jednak, kiedy mogę umieścić ten kod (bez „eksport”) w /root/.bashrc
, uzyskać ten efekt przy zmianie bieżącej powłoki bash za pomocą polecenia bash
.
Przykład:
Jak mogę zmienić kolor powłoki na zielony bez przełączania się na „bash” za każdym razem, gdy się łączę, tj. Jak mogę zastosować to również do domyślnej powłoki?
Tutaj używany jest Debian 8.3 (Jessie)
~/.bashrc
czyta Bash, jakiej powłoki używasz?echo $SHELL
zwraca/bin/bash
, więc oczywiście używam bash. Dlaczego więc to nie działa?.profile
z zawartością. ~/.bashrc
, otrzymuję zieloną powłokę, ale tekst nad pierwszym monitem wprowadzania jest nadal szary. Czy istnieje sposób na rozwiązanie tego problemu?~/.bashrc
jest odczytywany tylko przez powłoki niezalogowane,~/.profile
jest odczytywany przez powłoki logowania. Umieszczenie go/etc/profile
zamiast tego powinno również zmienić kolor MOTD.Odpowiedzi:
Problem
~/.bashrc
nie jest odczytywany przez powłoki logowania, a zatem nie jest odczytywany przez powłokę, którą otrzymujesz, logując się przez SSH.Jak już zauważyłeś,
~/.profile
jest odczytywany przez powłoki logowania, więc jest to sposób na ustawienie koloru, ale nie wpływa to na MOTD.W Debianie plik MOTD jest przechowywany w
/etc/motd
; oto polecenie, które doda poprawne sekwencje specjalne na początku i na końcu pliku:\e[0;32m
Ustawi kolor zielony na początku,\e[0m
zresetuje wszystkie atrybuty na końcu; w ten sposób MOTD jest zmieniany bez wpływu na to, co zostanie wydrukowane po; jeśli nie chcesz resetować atrybutów na końcu (wpływających na to, co jest drukowane po MOTD), po prostu upuść ostatnie polecenie:źródło
~/.profile
był bardzo pomocny. Nie ustawię jednak koloru MOTD, ponieważ chcę zielony kolor tylko dla użytkownika root. Ale gdy profil jest ustawiony na zielony, jest to najbliższe temu, co chciałem osiągnąć. +1