Farbige Befehle in der Terminal-Eingabeaufforderung

Farbige Befehle in der Terminal-Eingabeaufforderung

Ich habe die Eingabeaufforderung in meinem Mac-Terminal wie folgt angepasst:

export PS1="\[\e[31;1m\] \w $ \[\e[0m\] "

Auf diese Weise erhalte ich /working/directory $fettes Rot, aber ich möchte auch den Befehl, den ich ausführe, fettes Rot erhalten. Trotzdem möchte ich, dass die Ausgabe des Befehls die Standardfarbe hat.

Im Grunde genommen möchte ich dies:

Bildbeschreibung hier eingeben

Irgendwelche Hilfe, bitte?


EDIT: Ich habe den Code ausprobiert aufdiese Antwortaber zumindest bei mir funktioniert es nicht. Es macht den Befehl fett, aber auch die Befehlsausgabe. Und tatsächlich bekomme ich nach der Befehlsausgabe ein zusätzliches ${OFF}-Tag gedruckt und sogar ein verrücktes Verhalten, wenn ich die Aufwärtstaste drücke, um zuvor ausgeführte Befehle anzuzeigen ...

Antwort1

So geht's:

export PS1="\[\e[31;1m\] \w $ "   
trap 'echo -ne "\e[0m" ' DEBUG

Die ganze Magie kommt vonEscapezeichen zwischen Befehlseingabe und -ausgabe .

verwandte Informationen