Wie schalte ich die Farben für einen bestimmten Befehl aus?

Wie schalte ich die Farben für einen bestimmten Befehl aus?

Ist es möglich, die Farben für einen bestimmten Befehl wie auszuschalten ls, ohne die API des Befehls selbst zu verwenden? Gibt es eine Art Umgebungsvariable, mit der die Farbgebung für einen Befehl wie deaktiviert werden kann COLOR=off ls? Für jede Lösung wäre ich sehr dankbar.

Bearbeiten: Ich möchte eine allgemeine Lösung, die auf alle Befehle anwendbar ist. wieCOLOR=off command_name

Antwort1

Wenn Sie bereit sind, einige Änderungen in der Formatierung zuzulassen, können Sie diese auch einfach weiterleiten.cat

 ls | cat

Keine Farben, aber eine neue Zeile für jeden Eintrag.


Bearbeiten:

Farben über die Shell-Einstellungen ausschalten

Überprüfen Sie die RC-Datei(en) Ihrer Shell und sehen Sie nach, wo die Farben eingestellt sind. Erstellen Sie dann eine neue, .<shell>rc_monoin der diese Einstellungen entfernt sind, geben Sie die Quelle ein und fertig. Beispiel für Bash:

$cat ~/.bashrc_mono
export TERM=xterm-mono
. ~/.bashrc
alias ls='ls --color=none'
alias grep='grep --color=none'

Beachten Sie, dass . ~/.bashrcden neuen Aliasnamen lsund vorangestellt werden müssen grep, da ihre Farbgebung normalerweise in festgelegt ist ~/.bashrc. Sie müssen also nur

. ~/bashrc_mono ; ls 

Dementsprechend wäre ein „Redo Colors“-RC ganz nett:

$cat ~/.bashrc_recolorize
export TERM=xterm-256color
. ~/.bashrc

Verwenden Sie zB htopund Sie werden den Unterschied sehen.

Antwort2

Eine Möglichkeit wäre, die TERMVariable auf einen Terminaltyp festzulegen, der keine Farben unterstützt.

Beispiele:

TERM=dumb ls
TERM=dumb command_name
echo foo | TERM=dumb grep --color o

Wenn Sie den Programmen sagen, dass sie ein einfaches Terminal verwenden sollen, kann dies je nach ausgeführtem Befehl auch andere (unerwünschte) Auswirkungen haben. Beispielsweise vikann es sein, dass die Cursortasten nicht mehr erkannt werden.

Wie vorgeschlagen vonFelixJNSie können auch versuchen TERM=xterm-mono, aber auf meinem Testsystem (Git Bash unter Windows) unterdrückt dies die Farben im Gegensatz zu nicht TERM=dumb.

verwandte Informationen