Zanim klikniesz, nie jest to typowe pytanie „jak sprawić, aby mój bash miał kolor”. Już dostosowałem mój monit bash, aby wyglądał następująco:
[user @ host]----[$(pwd)]
$
gdzie wszystko w nawiasach jest jasnoniebieskie, a wszystko inne (w tym $) jest czarne, dodając następujące elementy do mojego pliku ~ / .bashrc
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
Celem jest, aby jedyną rzeczą, która zmienia się, gdy używam „sudo su”, jest to, że czarne $ zmienia się w czerwony #. Zajrzałem do /etc/bash.bashrc i / etc / profile, aby sprawdzić, czy jest tylko linia do skomentowania, ale jest wiele rzeczy na temat debian_chroot, których nie rozumiem i nie chcę coś spieprzyć. Jak mogę osiągnąć to, czego chcę?
PS Tak chcę, aby monit wyglądał jak root
[user @ host]----[$(pwd)]
(red)#
edycja: Oznacz to jako rozwiązane, dołączając powyższy kod do ~ / .bashrc, podczas gdy root osiągnął mój cel. Ponadto w powyższym kodzie $ (pwd) wyświetla tylko katalog domowy (chyba dlatego, że jest to katalog roboczy, gdy terminal jest otwarty) i nigdy nie jest aktualizowany. Zamiana $ (pwd) na \ w naprawia to, ale wyświetla katalog domowy jako ~
, którego próbowałem uniknąć.
\e[01;31m
, w \[...\]
. Wyjaśniono to w części PROPOZYCJA w instrukcji. Zobacz także mywiki.wooledge.org/BashFAQ/053
pwd
nie zadziałało w wierszu polecenia, jest to, że musisz uciec od znaku dolara, w przeciwnym razie $(pwd)
zostanie wykonane przed umieszczeniem zawartości w $ PS1. Można przetestować go w ten sposób: PS1="\$(pwd) "
.