[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: farbige Bashausgabe drucken...



Hallo Michael!

Michael Stummvoll <michael@stummi.org> schrieb: 
> Bessere wäre es, das Problem von anderer Seite anzugehen. Eigentlich
> sollte ein Tool schon nur dann Farbcodes ausgegeben, wenn es auf ein
> Terminal schreibt. In bash kannst du das mit [[ -t 1 ]] testen, in
> sh mit [ -t 1 ].

Interessanter Ansatz...

> Ich gehe davon aus, dass du deine Farbcodes mit tput setzt?

Äh, also um ehrlich zu sein; ich habe keine Ahnung... das Script
todo.sh ist nicht von mir (im Script selbst findet sich das Wort
»tput« jedenfalls nicht)...

http://todotxt.com/

> Diese Anweisung solltest du, wenn du nicht auf einem tty bist, mit
> einem alias überschreiben, so dass es nichts tut.

Vielen Dank, das du dir die Mühe gemacht hast, mir ein kleines
Testprogramm zu schreiben...

[...]
 
> Wenn du anstatt sh bash nutzt, sollten die Zeilen so aussehen:
> 
> #!/bin/bash
> [[ -t 1 ]] || alias tput=:

Ist ein bash-script...

> Wenn du dieses Script direkt im Terminal ausführst, z.B.
> mit ./colortest, dann solltest du die Farben sehen. 

Korrekt!

> Wenn du stattdessen in ein Pipe (./colortest | cat) oder eine Datei
> (./colortest > out) schreibst, sind keine Farben mehr drin.

Ähem... doch... mit cat kommt eine farbige Ausgabe... und in der
Ausgabedatei steht:

foo
bar
bla

Wo könnte denn da das Problem sein?

Trotzdem Danke für deine Mühe!

Ich versuche mich mal über tput schlau zu machen...

> Liebe Grüße,
> Micha

-- 
Mit freundlichen Grüßen 
Horst Felder  -  www.h-felder.de 
GNU/Linux; damit ich auch morgen noch vernünftig arbeiten kann!


Reply to: