
Ich versuche, meine bash
PS1
Eingabeaufforderungsfarben entsprechend derSolarisiertes Thema. Ich habesolarisiertinstalliert und funktioniert für iTerm2
, aber bisher ist es mir nicht gelungen, eine benutzerdefinierte PS1-Eingabeaufforderung zu erstellen, die zum Thema passt.
Ich habe versucht, Werte wie die folgenden für Cyan zu verwenden, aber am Ende erhalte ich entweder keine Farbe oder die falsche Farbe.
\033[0;37m
Die oben genannten Werte habe ich dem folgenden Link entnommen. https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized
Antwort1
Wenn das, was Sie fragen, istANSI-Escapesequenzen, hier ein paar Tipps:
0 Black
1 Red
2 Green
3 Yellow/Brown
4 Blue
5 Pink
6 Cyan
7 White/Gray
Jede davon wird auf die Vordergrund- oder Hintergrundfarbe angewendet.
3_ sets grim foreground color
9_ sets intense foreground color
4_ sets grim background color
10_ sets intense background color
# 3-4, 9-10 and a code for a color.
Dadurch wird beispielsweise aus printf "\033[1;44;97m"
Ihrem Hintergrund 44
(düsteres Blau) ein Vordergrund 97
(intensives Weiß).
Es gibt noch weitere nützliche Farbcodes, die Sie ebenfalls verwenden sollten:
0 reset all colors
1 bold
3 italics
4 underline
5 blink
7 inverse
Um die Arbeit damit angenehmer zu gestalten, können Sie eine Reihe von Aliasnamen wie fiblue
fred
bblack
usw. erstellen. Sie können Ihrem auch die folgende Funktion hinzufügen bashrc
:
ansi() {
printf "\033[$1"
}
Anstatt also zu schreiben , \033[1;35m
tun Sie es ansi '1;35m'
, und das Schreiben von Farbaliasen mit dieser Funktion ist komfortabler.
Beachten Sie auch, dass durch das Festlegen einer Hintergrundfarbe die bereits festgelegte Vordergrundfarbe zurückgesetzt wird. Verwenden Sie daher\033[
misc;background;foreground
m
.
Auf diese Weise können Sie alles malen, was PS1
Sie möchten. Hier ist ein Beispiel:
PS1="\033[0;1;36m\u\033[0;1m:\033[1;103;30m\t\033[0m \033[1;92m\$\033[0m \r"
Schauen Sie sich auch anbash_it.
Ich hoffe, ich habe Ihre Frage beantwortet.