Bevor Sie wegklicken, ist dies nicht die typische Frage "Wie mache ich meine Bash-Eingabeaufforderung farbig?". Ich habe meine Bash-Eingabeaufforderung bereits so angepasst:
[user @ host]----[$(pwd)]
$
Dabei ist alles in Klammern hellblau und alles andere (einschließlich $) schwarz, indem Sie Folgendes zu meiner ~ / .bashrc-Datei hinzufügen
# 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
Das Ziel ist es, es so zu machen, dass sich das einzige, was sich ändert, wenn ich 'sudo su' verwende, ist, dass sich das schwarze $ in ein rotes # verwandelt. Ich habe in /etc/bash.bashrc und / etc / profile nachgesehen, um zu sehen, ob es nur eine Zeile zum Auskommentieren gibt, aber es gibt eine Menge Dinge über debian_chroot, die ich nicht verstehe und die ich nicht will etwas vermasseln. Wie kann ich erreichen, was ich will?
PS So soll die Eingabeaufforderung als root aussehen
[user @ host]----[$(pwd)]
(red)#
edit: Markiere dies als gelöst und füge den obigen Code an ~ / .bashrc an, während root mein Ziel erreicht hat. Außerdem zeigt $ (pwd) im obigen Code nur das Home-Verzeichnis an (vermutlich, weil dies das Arbeitsverzeichnis ist, wenn das Terminal geöffnet wird) und aktualisiert es nie. Das Ersetzen von $ (pwd) durch \ w behebt dies, zeigt jedoch das Ausgangsverzeichnis als an ~
, das ich vermeiden wollte.
\e[01;31m
in \[...\]
. Dies wird unter PROMPTING im Handbuch erklärt. Siehe auch mywiki.wooledge.org/BashFAQ/053
pwd
die Eingabeaufforderung nicht funktioniert hat, ist, dass Sie das Dollarzeichen umgehen müssen. Andernfalls $(pwd)
wird sie ausgeführt, bevor der Inhalt in $ PS1 platziert wird. Sie können es mit diesem Test: PS1="\$(pwd) "
.