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:
[35mfoo
[36mbar
[37mbla
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: