2009-04-19 12 views
1

Ist es möglich, alle Befehle zum Anhängen von --color? Oder muss es stattdessen automatisch für jedes Programm aktiviert werden, das es unterstützt?Hinzufügen von --color zu allen Unix-Befehlen

+0

Siehe auch http://stackoverflow.com/questions/563500/what-unix-commands-support- colored-output –

Antwort

2

Wie würde die Shell automatisch wissen, welche Programme die Option --color unterstützen? Sie müssten ihm eine Liste geben, und solange Sie das tun, können Sie ihm einfach eine Liste von Aliasbefehlen geben, die ausgeführt werden sollen. Ich nehme an, es durch so etwas wie dies programmatisch getan werden könnte (in bash):

for cmd in ls blah foo; do 
    alias "$cmd=$cmd --color" 
done 
1

Es gibt wirklich nur sehr wenige Programme, die die --color Option unterstützen, und sie sind nicht wirklich von einer einzigen Organisation geschrieben. Daher beziehen sie sich nicht auf einen zentralen Ort für ihre Optionen. Heck, die haben nicht einmal ein einheitliches Argument, also würde nur die --color Option bis zum Ende jedes Befehls wahrscheinlich viel Schaden verursachen!

Ich fürchte, Sie müssten jedes und jedes Alias. Zum Beispiel für ls:

alias ls='ls --color' 
3

sollten Sie mit diesem vorsichtig sein, vor allem, wenn Anrufungen Verkettungs.

grep --color=yes 'foo' bar.txt | less #leads to weird ANSI stuff in output 
grep --color=yes 'foo' bar.txt | less -R #binary codes interpreted as colors 

Grundsätzlich kann dies Pipelining vermasselt ... Ich würde Aliasing Dinge mit kolorierte Ausgabe empfehlen Befehle zu trennen tun zu vermeiden „cmd | myprog“ und immer seltsame Ergebnisse durch eingebettete ANSI.

+0

Die meisten Befehle haben --color = tty für diesen Zweck – Joshua

+0

Einige Befehle (wie grep) unterstützen '--color = auto', das die Ausgabe koloriert, wenn und nur wenn stdout ein Terminal ist. Wenn stdout eine Pipe ist, werden sie nicht eingefärbt. –

-1

stattdessen jeden Befehl versuchen

zu ändern, warum nicht nur die Art und Weise ändern, um Ihre Konsole zeigt Farben

+0

Ändern Sie die Konsole wie? Um es magisch Farben für Text anzuzeigen, den der Befehl nicht markiert hat? –

Verwandte Themen