2015-02-28 6 views
22

Ich versuche, Farbausgänge zu meinen Fehlern in einem Bash-Skript, das ich auf einem Mac ausgeführt habe, hinzuzufügen. Das Problem ist, dass die Farben nicht funktionieren. Ich habe die einfachste von Skripten zu zeigen, dass es nicht funktioniert:Wie bekomme ich osx Shell-Skript um Farben im Echo zu zeigen

#!/bin/bash 

echo -e "\e[1;31m This is red text \e[0m" 

jedoch, wenn ich es laufen, ich sehe überhaupt keine Farben, wie in diesem Bild gezeigt. Die Farbausgabe des Befehls ls funktioniert jedoch einwandfrei.

enter image description here

+0

einen Blick auf diese, die ich Ihre Frage dort beantwortet: https://stackoverflow.com/a/48216286/3782119 –

+0

Ich war glücklich, dass bash war alt zu wissen, und Aktualisierung hat mein Problem gelöst. – nycynik

Antwort

17

OSX Schiffe mit einer alten Version von Bash, die nicht die \e Escape-Zeichen nicht unterstützt. Verwenden Sie \x1B oder aktualisieren Sie Bash (brew install bash).

Noch besser wäre es, tput zu verwenden.

+0

Danke! Gefunden eine bessere Bash nach der Installation brauen bei http://brew.sh/ – nycynik

3

Eine andere Option könnte zsh sein, die die \e Schreibweise berücksichtigt.

#!/bin/zsh 
Verwandte Themen