Zugriff auf Solarized-Farbwerte innerhalb des Bash-Skripts

1192
PhiloEpisteme

Ich versuche, meine auffälligenbash PS1 Farben gemäß dem Thema Solarized zu gestalten . Ich habe Solaris installiert und arbeite für iTerm2, aber bisher ist es mir nicht gelungen, eine benutzerdefinierte PS1-Eingabeaufforderung zu erstellen, die dem Design entspricht.

Ich habe versucht, Werte wie die folgenden für Cyan zu verwenden, aber am Ende bekomme ich entweder keine oder die falsche Farbe. \033[0;37m

Die obigen Werte habe ich aus dem folgenden Link erhalten. https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

0

1 Antwort auf die Frage

1
theoden

Wenn Sie nach ANSI-Escape-Sequenzen fragen, finden Sie hier einige Tipps:

0 Black 1 Red 2 Green 3 Yellow/Brown 4 Blue 5 Pink 6 Cyan 7 White/Gray 

Jeder von ihnen 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. 

So machen printf "\033[1;44;97m"Sie beispielsweise Ihren Hintergrund 44(grimmiges Blau) in den Vordergrund 97(intensives Weiß).

Es gibt andere nützliche Farbcodes, die Sie auch verwenden sollten:

0 reset all colors 1 bold 3 italics 4 underline 5 blink 7 inverse 

Um die Arbeit damit zu erleichtern, können Sie eine Reihe von Aliasnamen fiblue fred bblackusw. erstellen . Sie können auch die folgende Funktion hinzufügen bashrc:

ansi() { printf "\033[$1" } 

So dass \033[1;35mSie nicht ansi '1;35m'schreiben, sondern Farbaliasnamen mit dieser Funktion schreiben, ist komfortabler.

Sie sollten auch beachten, dass das Setzen einer Hintergrundfarbe bereits die Vordergrundfarbe zurücksetzt .\033[misc;background;foregroundm

Auf diese Weise können Sie nach Belieben malen PS1. 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 bash_it an .

Ich hoffe, ich habe geantwortet, was Sie gefragt haben.